Looking Forward To Oracle 10g Release 2
One of the major announcements at Open World was for Oracle Database 10g Release 2. This next release of the Oracle RDBMS isn't likely to be available for download until the middle of 2005, but some initial details have now been made available and it's possible to get an idea of what's in store for the product.
The first thing that's apparent about 10g Release 2 is that isn't not a major upgrade on the first release of Oracle 10g, and from a business intelligence & data warehousing point of view, the changes aren't nearly as big as those we saw when 9i Release 2 was announced. If you remember back, 9i Release 2 brought in the OLAP Option as we know it, with the initial 9i release just having the Express Server engine running alongside the Oracle kernel as a standalone process. Oracle 10g Release 2 is bringing some changes, as detailed in my previous posting, but it may infact be the case that we get these as a patch to 10g Release 1 rather than having to wait until the full 10g Release 2 launch.
Anyway, leaving BI&W for the moment, what are the major features planned for 10g Release 2?
From going along to the 10g Release 2 launch event at Open World, and from speaking to a couple of people within Oracle, 10g Release 2 is being billed as "a better Oracle 10g Release 1"; therefore, the new features within Release 2 are largely improvements over existing functionality introduced with 10.1.0.2, with a couple of new features such as transparent encryption, support for the .NET CLR, and support for XQuery added in for good measure. Improvements on existing 10.1.0.2 functionality include enhancements to Automatic Storage Management (ASM), with improvements in the way that multiple disk actions are handled, how data is provisioned over multiple disks and to the Streams feature that can be used to trickle-feed data from one application to another. Backup and Recovery is being enhanced, with a new Oracle Backup feature (likely to be a freebie, like ASM) that builds on RMAN and looks to replace much of the tape archiving functionality provided by vendors such as Veritas.
One new feature that has got people like Pete Finnigan interested is the new transparent encryption feature, that provides the ability to encrypt the contents of tables and columns without the need to use features such as DBMS_OBFUSCATION, and therefore can be taken advantage of by existing applications without the need to change any application code. The database will take care of key management (this is in fact the only option with Release 2, with later releases there is likely to be a bit more flexibility to handle the keys outside of the database) and any tables written to backup will also be encrypted if this option is used. Another interesting new feature is the ability for the database to gather performance statistics directly from the SGA - a technique popularised by authors such as Kyle Hailey and used by many third-party performance monitoring tools. The attraction in gathering stats directly from the SGA is that you don't need to go through the V$ views - if you go through these views you introduce additional load into the database which in turn affects the statistics you retrieve, and in some cases, when the database is locked up, you can't access the V$ views in the first place. By directly accessing the memory structures in the SGA, you can read off the relevant performance values without disturbing the database, and if you sample these values fast enough, you can get an excellent feel for the performance of the database. Up until now, you had to either put your own code together, use an open-source solution, or buy a third-party tool, but this should all be available (presumably after buying an extra 10g option such as the tuning or monitoring pack) out of the box with DBControl.
I first heard about support within 10g for the .NET CLR at the Oracle 10g UKOUG Special Event earlier in the year, and this support has subsequently been confirmed with the announcement of 10g Release 2. Full details aren't available at this point, but it looks like what will be initially possible is that you'll be able to call .NET CLR routines written in C#, Visual Basic.NET and any other language with a .NET runtime by using the existing External Procedure (EXTPROC) feature in the Oracle database, which is a bit short of the existing support within Oracle for running PL/SQL or Java Stored Procedures natively. My impression is that with subsequent releases, this support for the .NET CLR will be more integrated, such that you'll be able to run .NET CLR stored procedures in the same way as PL/SQL or Java ones, but I don't think that's what's coming with 10g Release 2, although I could be wrong. Interestingly, if Oracle get 10g Release 2 out of the door before Microsoft SQL Server 2005 (and infact IBM DB2 "Stinger", which has had a similar feature announced for it), it'll be the first vendor to offer .NET CLR support within the database, beating Microsoft (and IBM).
The other interesting new feature is support for XQuery. XQuery (which I wrote about the other week) is a feature that offers a similar set of functionality to SQL, but that has XML files (or streams) as a data source. XQuery has been talked about for a while now, and has been featured (through XDS) within Oracle as a beta for a while now, but Oracle will be the first vendor to offer full XQuery support with this latest release of the database. XQuery isn't something that's going to be on most people's radar at the moment, but it's a glimpse into the future and something that's an essential component in the current interest in "data federation", a way of integrating disparate datasources in an "ETL-lite" style that is currently flavour of the month for EIS-style business intelligence.
Wrapping things up is new PL/SQL APIs for data mining, and the probable integration of the recent improvements in Oracle OLAP into a full database release. Alongside the release of Oracle Database 10g is the launch of Application Server 10g Release 2, and a number of new pricing options that allows you to license just (for example) the business intelligence functionality (Discoverer, Reports, BI Beans, Excel Add-in) without the rest of the Application Server technology stack. What you might not of noticed is that Oracle slipped in a price increase for Application Server with this latest round of announcements - previously, you could license the full Enterprise Edition of Application Server for $20k per processor, and that included the Infrastructure (OID, a database runtime, Portal, Integration and so on) and Mid-Tier (Forms, Reports, Discoverer and so on) all included. Now, you can license Forms for $20k, Business Intelligence for $20k, "Identity Management" (presumably OID, SSO and some new bits) for $10k, or you can license them all (including I think the BPEL functionality) as the new Enterprise Edition, for $30k per processor. Therefore, whilst it's nice that you can just license and install just the BI elements without needing an infrastructure install, you'll still pay $20k per processor and you'll need to pay an extra $10k to get the rest of what you previously got with the 9i and 10g Release 1 Enterprise Editions.
I don't know about Application Server, but the database 10g Release 2 should be out by the second half of 2005, with the initial release on 32-bit Linux (Oracle's primary development platform) and the other platforms following shortly afterwards. I'll post more news as it becomes available.