Oracle 11g’s new toys
It may be Oracle, but it is shiny
Oracle has just announced onto a suspecting world the latest release of its flagship database engine.
It is packed full of additional features. If you are an Oracle DBA and/or developer, then you will be keen to find out what’s coming because, for good or ill, these will be the features you will work with in the coming years. But suppose, just suppose, you are a MySQL developer or a SQL Server DBA.
Does 11g hold anything for you? The default answer is probably anything from “No thank you.” to “No way dude; are you completely mad?” But surely it is worth knowing what the competition is up to? And clearly all the major database companies watch each other, so you can expect to see some of these features in your favourite engine at some stage.
Let’s face it, Oracle has been, for years, a really difficult product to drive well. Mike Ault’s excellent book “Oracle Disk I/O Tuning: Disk I/O Performance & Optimization for Oracle Databases” devotes 300 pages simply to the topic of optimizing disk I/O for Oracle databases. Obtaining certification is a long complex process and so good qualified Oracle people have commanded premium salaries.
Oracle started to address this problem (well, I see it as a problem, though I’m not sure that the Oracle DBAs would necessarily agree) in 10g and have continued the work in 11g. It’s not as user-friendly as SQL Server yet, but getting there. One reason for the change is that Oracle is expanding into markets such as China and India. There are far fewer qualified Oracle people here and those wanting to become DBAs are looking for the easiest package to learn. So Oracle is finally embracing the novel concept of ease-of-use.
Be assured of change
So there you are, running a big, complex, production database. A change becomes necessary (patch, table split, whatever). You daren’t try it on the real system so you try it out on the test system. The problem is assuring yourself (and everyone else) that the change is OK. You can duplicate the production system relatively easily in terms of the structure and data, but duplicating the real workload is far more tricky. Or, it used to be! Now with new, improved, Oracle 11g the database engine itself will make your testing cleaner and faster than ever before!! And – it’s non-biological!!!
Oracle 10g already has the ability to capture the workload of a production database. 11g adds in the capability to play the captured workload back onto a test system. Better than that, it can monitor the performance of the two and report which is running most efficiently.
Oracle claims that this can reduce the time taken to obtain quality assured status for a change down from 80 days to 2 or 3. Now whether you believe that all changes will show such an improvement is up to you, but this feature does have the potential to be a major boon in some environments.
Storage media vary, both in latency and cost – in general the higher the latency the lower the cost. As databases get bigger, we tend to put the least used data onto the slowest medium. 11g provides a set of tools that help to automate this problem by migrating the data around for you under the covers.
11g also sees the introduction of semantic querying. Users, for reasons which have always escaped me, don’t like querying in SQL. English (or another human language) is often their preferred language but the problem with English is that it lacks the precision of good old SQL. Indeed, not only is the language woolly, different groups of people use words in different ways. For example if an optician asks about ‘accommodation’, it’s probably a question about an eye’s ability to adjust its focus onto objects at a range of distances; if a hotelier asks, it’s more likely to be about rooms, beds, plumbing and wireless access. Many words have meanings that differ between professional groups, so Oracle provides ontologies – essentially sets of concepts and meaning that can be applied to words to try to ensure that English querying works.
Complex data types are becoming outrageously trendy – Microsoft announced in May that the new SQL Server 2008 will have spatial data types but Oracle has beaten its rival to market with this exciting new data type. This is not to suggest that Oracle has been unable to handle spatial data in previous versions, only that the company has put a great deal of effort into trying to integrate spatial data into the product in 11g.
And the list goes on…..
The engine can now not only spit out error messages, it will look up the error message and try to find work arounds for the problems it is reporting.
The streaming and file I/O is now claimed to be so good that it is faster to update documents that are held in the database than those in the underlying file system.
Data compression can now work with read-write data as well as read-only.
Oh, and did I mention that ‘g’ was for Grid? Oracle has continued to expand the grid capabilities of the product. The company says that it is focusing on this technology because its customers continue to migrate large databases from single, huge SMP boxes onto grids of smaller, commodity, SMP boxes.
This is the briefest look at a major release of a complex product. We have already looked at the next release of SQL Server 2008 here and here. I was fascinated to note that on Tuesday, coincidentally (?) the day before the release of Oracle 11g, Microsoft announced the launch date for SQL Server 2008 - February 27th. 2008. The implication of this, surely, for SQL Server users is that you won’t have to wait long for Microsoft’s next version.
However, remember that in Microsoft’s world, launching a product doesn’t means that the product is available; you may remember SharePoint. I certainly don’t think that SQL Server 2008 will be available in production within a year. So, for quite a while, Oracle will have the shiniest new toy on the block. ®