Oracle已经过时?

oracle

转自Mark Rittman的BLOG
http://www.rittman.net/archives/001130.html

Is Oracle A Legacy Technology?
One of the nice things about working with the Oracle RDBMS, compared to say working with technologies such as AS/400, COBOL or mainframes is that it's generally perceived as a "hot" technology. Salary surveys show Oracle skills as being one of the most in-demand skill sets, the Oracle database is way ahead of the competition in terms of features and use of new technology, and most of the world's top companies use Oracle as their database of choice. But what if in fact we've gone past the peak of Oracle's ascendancy, and it's now a legacy product, with all work in future being mainly about maintaining systems in place, and migrating them to newer, more fashionable systems? A couple of excellent recent articles by Mogens Nørgaard raised this as a possibility, and certainly give you a few things to think over when you consider the Oracle database technology stack.

The first article was at the end of Mogens' chapter in Oracle Insights : Tales Of The Oaktable, where he looks at the key factor that makes Oracle particularly suited to effective tuning - the fact that the database kernel is heavily instrumented (the famous "wait interface"), and because of this, you can obtain precise details about exactly what is slowing down your application. Other databases, such as DB2 and Microsoft SQL Server, don't have this instrumentation (or at least it's not publicly accessible) and therefore it's much more "hit and miss" with those platforms.

A point that Mogens makes mid-way through the article though is that, whilst it's all well and good instrumenting the database, in most cases an application consists of a SAN, operating system, an application server, application code and so on, and if you've only got feedback on how the database is performing, you've only got part of the story. Mogens makes the good point that, whilst Microsoft haven't exposed SQL Server's internals in the same way that Oracle have, in fact they've got a historical chance to instrument the entire application platform, as they own the technology behind Windows Server, IIS, .NET and so on, a point made again by Niall Litchfield in a thread on comp.databases.oracle.server.

Where this goes on to though is that, whilst it's fantastic what Oracle's done with instrumenting the database kernel, what Mogens is actually finding in real life is that, like disk storage and operating systems before it, the database itself is now becoming a commodity, with no-one these days getting fired for buying Microsoft SQL Server, and many organisations looking to open source databases such as mySQL to handle their day-to-day database needs. Whilst this is moving databases as a whole into the legacy category, it particularly hurts Oracle badly as firstly, the Oracle RBDMS is expensive and still to this day requires a level of administrative skill well above SQL Server and mySQL, and secondly, for Oracle, database revenues are still the majority of their total license revenues. According to the article,

"Oracle and DB2 are now legacy databases: very few truly new sales compared to license renewals and add-on sales to existing customers, very few young people coming out of schools wanting badly to learn about them. SQL Server is the safe choice that won't get you fired, and the open source databases such as mySQL will prevail when they can deliver the neccessary (rather few, basic) functionalities that the developers of tomorrow will require (such as handling transactions correctly, have good backup methods, and so on)."

The irony as far as Mogens is concerned, is that "whenever a system or technology reaches a level of perfection (in other words, science is used as a rule) it will be replaced by something more chaotic that looks (and perhaps even is) cheaper", something that happened to mainframes before and, just at the point where it reaches the level of "technical perfection", could possibly be the fate of the Oracle RDBMS itself.

Mogens made the same points again in his column in the Autumn 2004 edition of Oracle Scene, and, thinking about the earlier point about databases in general being made into a commodity, says that this will have the following effect on database professionals:

"So the DBAs are slowly being replaced, outsourced, diverted to other tasks, or being asked to focus on other things, too. That means three things for our database world:

1. The databases will usually run, because nobody is fiddling with parameters and other stuff.

2. No new features will be tested and implemented (after all, 7.3 is still plenty of database technology for most uses).

3. When things finally go wrong, a lot of other complications, due to the lack of daily nursing, fiddling, and caring, will be discovered, making the troubleshooting and restore/recovery process even harder in an even more critical situation.

It means something else, too: For companies specialising in this sort of scenario, with a bunch of techies still around who can stay current with the latest without forgetting the (basics of the) past, there will be lots of work for the next 10 years."

whilst for Oracle in particular, the effects are likely to involve a change in business plan

"...I think it’s fairly safe to say this today:
Oracle and DB2 are legacy databases, you don’t get fired currently from choosing SQL Server, and the open source databases will become the default as soon as they’re good enough, which will happen real soon now, since more and more work takes place outside the database, turning the database into a data dump. The open source databases will do to the database market what Linux is currently busy doing in the O/S market. Oracle gets most of its license profits from the database. If they don’t find additional sources of income (and profit), such as PeopleSoft, they will fail because of the constant attack on their profit sanctuaries (the database licences and Support). Oracle will be bought by IBM or HP if they don’t manage to grow to a comparable size."
So what does this mean for us then, whose careers (presumably) are based around our knowledge of Oracle? Well I think it's safe to say that, whilst I'm in total agreement with Mogens on his assessment of the market (which unfortunately always picks cheapest and simplest above complexity and costly) I'm sure everyone would agree that the Oracle RDBMS isn't going anywhere in the near future. If you spoke to Tom Kyte (or indeed Mogens) you could point to any number of new features that make Oracle more powerful, easier to administer and less costly to run, and no doubt when databases such as SQL Server and mySQL get the features that Oracle currently has, they'll be just as complex to administer.

However, time and time again now I come across situations where the database is considered just part of the underlying platform and all the real activity takes place on the mid-tier and in the application, and if you've going to do that, you might as well use mySQL or Access. Also (and this is particularly pronounced in the BI and OLAP world, and will be more so when Yukon comes out) rival databases are catching up with Oracle in terms of features, and in most cases have a better "out of the box" experience that doesn't scare off curious first-time users of the database.

I think like in any walk of life, it pays to hedge your bets, and if you speak to most advocates of Oracle technology (including many of the Oaktable members) they also have a good understanding of rival RDBMSs, and in some cases recommend them in preference to Oracle. Also, it depends where you are in your career - I'm 36 now and working with Oracle more or less for all of my IT career, and in all probability will continue to work with databases for the rest of my time in the industry. If, however, I was just starting out, I'd probably focus more on Java or .NET application coding, look more at "mid-tier" issues and spend less time on the database, storage and the operating system. Still, having said that, I still come across AS/400-based applications, and consultants who still make a packet looking after these supposed "legacy" systems, and don't have to spend all their time recertifying and getting their heads around concepts such as "grid computing" and "service-orientated architectures", so it could just pay to sit it out and let everyone else fight it out over the next new great thing.

时间: 2024-11-27 18:08:04

Oracle已经过时?的相关文章

AG阅读总结10.4.1——参数文件简介

1.参数文件简述:  在oracle数据库中,参数文件包含了所有的数据库配置信息,它非常重要.我认为如果 要把oracle管理好,必须要做到对参数及参数文件的了如指掌.但是,oracle数据库中数据是庞大的,且正因为参数文件包含了数据库的所有配置信息,所以参数很多,有几百个之多,一时是难以熟悉和掌握的,这需要在实践中的配置,了解和领会.有关各个参数的详细参考信息,请参阅oracle官方文档<Oracle9i Database Reference>.           这里通过两个部分对参数文

ORACLE优化器RBO与CBO介绍总结

RBO和CBO的基本概念   Oracle数据库中的优化器又叫查询优化器(Query Optimizer).它是SQL分析和执行的优化工具,它负责生成.制定SQL的执行计划.Oracle的优化器有两种,基于规则的优化器(RBO)与基于代价的优化器(CBO)          RBO: Rule-Based Optimization 基于规则的优化器          CBO: Cost-Based Optimization 基于代价的优化器 RBO 自ORACLE 6以来被采用,一直沿用至ORA

关于Freelists和Freelist Groups的研究(修订版)- freelists是否已经过时

二.             freelists是否已经过时随着Oracle9i的推出,对于空闲块的管理变得更加智能和有效率了.在LMT(Locally Managed Tablespaces)中如果指定了ASSM(Automatic Segment Space Management),那么对于任何pctused,freelists,freelist groups存储参数的指定都将被忽略.创建ASSM表空间的方法如下: CREATE TABLESPACE lmtbsb DATAFILE '/u0

Oracle.中如何查询当前版本中的各参数

oracle Oracle数据库系统根据初始化参数文件init.ora中设置的参数来配置自身的启动,每个实例在启动之前,首先读取这些参数文件中设置的不同参数.Oracle系统中的参数,根据系统使用情况可以简单分为两大类,普通参数,也就是Oracle系统正常使用的一些参数,另外一类就是特殊参数,包括三种,过时参数.强调参数和隐藏参数.随着Oracle数据库新版本的发布,相应每次都会增加或者删除一些参数.如何查询当前版本数据库系统的参数情况以及当前系统版本相对于以前版本增加或者丢弃的那些参数呢?本文

Oracle Tuning的一些总结

oracle     关于Oracle的性能调整,一般包括两个方面,一是指Oracle数据库本身的调整,比如SGA.PGA的优化设置,二是连接Oracle的应用程序以及SQL语句的优化.做好这两个方面的优化,就可以使一套完整的Oracle应用系统处于良好的运行状态.         本文主要是把一些Oracle Tuning的文章作了一个简单的总结,力求以实际可操作为目的,配合讲解部分理论知识,使大部分具有一般Oracle知识的使用者能够对Oracle Tuning有所了解,并且能够根据实际情况

SQL Server数据库和Oracle数据库的区别

区别|数据|数据库|oracle|sqlserver 多年来,在微软的支持者和甲骨文的支持者之间一直持续着一场旷日持久的唇枪舌战.这边说Oracle数据库有如此这般功能,那边又说SQL Server这些个那些个特性,各持己见.可是,这并不是关键所在.诚然,性能是评价数据库优劣的重要指标之一,能够帮您完成您需要它完成的任务当然要更胜一筹.但是,你知不知道这两家公司和他们各自产品的真正区别在哪里?而你又知不知道微软为什么能够有轻轻打个喷嚏就能震动整个业界的影响力呢? 答案很简单,两个字:信息.微软以

Oracle中提取和存储数据库对象的DDL

oracle|对象|数据|数据库     从对象(例如数据库表.索引.约束.触发器等)中提取DDL命令的普通方法涉及到的操作包括从这些对象中提取元数据(metadata),并把这些数据存储在内存中.尽管目前有很多脚本可以实现这样的功能,但是它们通常都是不完整的或者过时的.幸运的是,Oracle 9.2提供了一个实现这样的功能的API:DBMS_METADATA程序包. 在很多情况下,数据库中数据的维护操作要求我们提取多种对象(例如数据库表.索引.约束.触发器等)的DDL(Data Definit

ORACLE常用傻瓜問題1000問(之八)

oracle                                   ORACLE常用傻瓜問題1000問(之八) 作者: CCBZZP         大家在應用ORACLE的問題可能會遇到很多簡單的問題, 特別對新手來說, 今天我簡單把它總結一下, 發布給大家, 希望對大家有幫助! 9I管理的V$视图. 281. V$ACCESS    显示当前被锁定的数据库中的对象及正在访问他们的会话. 282. V$ACTIVE_INSTANCES    为当前安装的数据库中出现的所有实例建立

blog的魅力,解决我一个oracle的小问题:)

oracle|解决|问题 今天遇到一个oracle的问题,总怀疑是hibernate的查询语句有错,因为提示connot execute query.并且同时出现ORA-00600错误,网上找到:http://blogsite.3322.org:8080/jspwiki/Wiki.jsp?page=Main&weblog.days=30&weblog.startDate=310503oracle9i的驱动与8i有区别 原有的class12.zip不能继续使用在9i当中. 会产生 java.