Sunday, June 28, 2009

tech: Oracle 11 "new features" presentation

I recently attended an Oracle presentation, the audience was quite broad, architects, developers, middle management and the odd DBA. To be honest it was a bit of a sales pitch, focusing more on java and application server developments than the database (my background is predominately SAP applications running on Oracle databases so have little experience of Oracle Applications).

Still I did learn about the new features in 11g (I should be attending a one-day 11g technical overview day, at Oracle in Reading next month - this will be more detailed).

1) Grid computing enhancements

Oracle's are keen to see data centre and computing resource consolidation. Apparently Oracle worldwide since 1998, have consolidated 40 data centres into just 3! A more efficient use of resources is very fashionable, large production servers use a lot of electricity and need heavy air-conditioning, traditionally production servers are sized for "peak load",which often means for 90%+ there is a lot of wasted capacity.

This huge energy consumption is not just adding to global warming, data centres are finding they are hitting limits in terms of total energy usage (power supply, air conditioning requirements ...).

Hence Oracle have identified using resources more efficiently (i.e. grid computing) as the way forward, and this is very fashionable. (Traditionally there has been a silo mentality in the industry where business and services want maximum control over their environments and so have been reluctant to move to grid computing).

So what is new in 11g? The early versions of RAC were not easy, a challenge for even experienced DBA and Unix System Administrators work closely together. In April 2005, I attended one of the first runs of the 1-week course "Oracle 10g RAC" at Oracle, Reading. My colleagues had recently implement an Oracle 9i RAC installation, and this had involved a great deal of details knowledge of cluster configuration and some fairly tricky "low level o/s configuration". The course was interesting but tough, setting up RAC was not for the faint hearted.

Anyway in 11g, there have been further improvements and in theory new RAC nodes can now be added via Enterprise Manager.

Also for certain types of processing, there have been "locking issues" which has limited RAC installation to 3 instances? Apparently these issues have been resolved in 11g and some clients e.g. Amazon are running RAC across 30+ instances.

At the heart of RAC (making RAC work so much better than the old Oracle Parallel Server architecture) is Cache Fusion, it appears that Oracle has made significant improvements "behind the scenes" in 11g:

Cache Fusion Protocols
Oracle revolutionized clustering technology by introducing the Cache Fusion protocol that allows nodes in a cluster to communicate with each other’s memory using a high speed interconnect. Cache Fusion is one of the key elements of Oracle’s Real Application Cluster technology.
Oracle Database 11g introduces the next generation of Cache Fusion Protocols. The new workload aware protocols dynamically alter the inter-node messaging behavior depending on the type of workload being processed in order to maximize performance. For example, a newly introduced read optimized protocol significantly reduces the number of inter-node messages for read operations. Similarly, other new protocols optimize the messaging behavior for update and table scan operations. Oracle automatically selects the best protocol to use based on the workload profile. These optimizations to the Cache Fusion Protocols significantly reduce inter-node messaging and enhance the scalability of Real Application Clusters.

2) Storage Management

There was quite a lot of discussion around storage management:

A Terabyte sized database that used to be a novelty some years back is almost a normal occurrence today as businesses try to capture as much data they possibly can about their customers and store it for as long as they can in order to understand their business environments better. Similarly, the volume of data being generated in the scientific research and health-care sector is literally exploding with some organizations expecting to generate more than a Petabyte (1000 Terabytes) of data every single year.

As a bit of an "interesting aside" in the presentation, they talked about an interesting example of a modern application with a huge volume of data - emergency service management software. The regional/national emergency centres are now capturing two real time source of data (1) the GPS of every vehicle and (2) real maps of trouble-spots - typically differently locations with various types of pollution problems (with various specialist protective clothing, breathing ... requirements). This application is interesting because (a) the storage requirements for this sort of data capture are high and (b) the use of filtering/blade technologies to filter some of the data. Here most of the data is not of interest (most of the time, emergency vehicles are not entering pollution black-spots. Oracle have bought out a specialist spatial data application software vendor to help them develop these sorts of applications. (NB One of the themes of the presentation is the spectacular number of IT companies Oracle has bought over the last 5 years - the presenters made no comment about the recent Sun buyout - except that only staff in California head-office would know what the plans really are for the future of JAVA , Solaris x86 ...)

So what is Oracle doing new in 11g to help with these new storage management requirements: (1) compression routines even for some OLTP tables ("does a delivery company need fast access to complement orders over a year old"?) (2) secure files and (3) simplified volume management via Enterprise Manager. These were all discussed briefly during the presentation, returning again to the Oracle White Paper "11g Performance and Scalability"

i) OLTP Table Compression
Oracle introduced data compression in Oracle Database 9i primarily for use with Data Warehouses. Limitations on how data could be manipulated in compressed tables made it unsuitable for OLTP workloads. Oracle Database 11g removes these constraints, allowing traditional DML statements (INSERT, UPDATE, and DELETE) on compressed tables.

ii) SecureFiles
Unstructured data (documents, spreadsheets, images, multimedia, etc) is becoming more pervasive in the enterprise. This is due in large part to improvements in networking bandwidth enabling the sharing of rich unstructured content and the changing requirements of the regulatory landscape, such as Sarbanes-Oxley and HIPPA... SecureFiles, a feature introduced in Oracle Database 11g, was designed to break the performance barrier preventing enterprises from storing unstructured data in Oracle databases. Similar to LOBs, SecureFiles is a data structure built to store large objects in the database. SecureFiles however, offer a much richer feature set and a vast improvement in performance when compared with LOBs or file systems.

iii) Oracle Database 11g’s Scalable Management automates many administrative activities and provides an intuitive and robust toolset for managing simple and complex environments with Enterprise Manager Grid Control.

I couldn't see anyhting in this white paper (but was spoken briefly about in our presentation) regarding compression of securefiles, compression of redo logs before shipping (data guard). Also regarding OLTP Table Compression, the concepts of "data life-cycle" was discussed e.g. our deliveries start on fast access disc storage, then it is move to slower access compressed storage and finally it move to tape access (for long term audit purposes)?

3) High Availability / Data Guard

Data Guard has been enhanced to deal with network problems and redo log ship problems when these arise ...

Data Guard is an integral component of Oracle’s High Availability solution and a key component of the Maximum Availability Architecture (MAA). Data Guard automates the process of maintaining standby databases, which are activated during planned and unplanned production outages. Oracle Database 11g enhances the Data Guard capabilities by improving the redo transport performance. Asynchronous (ASYNCH) redo transport has been improved to stream redo data without interruption by decoupling the network messaging between the standby and production database from the shipment of redo data.


4) Flashback Data Archive

I have not used Flashback extensively but it clearly is something Oracle have been pushing hard in Oracle 9i and 10g. In 11g Oracle have introduce the "Flashback Data Archive", removing the deoendency of flashback operation on undo data, which is available only for a limited time before it is aged out:


Oracle9i Database Release 2 introduced the proverbial time machine in the form of the Flashback Query, which allows you to select the pre-changed version of the data. For example, had you changed a value from 100 to 200 and committed, you can still select the value as of two minutes ago even if the change was committed. This technology used the pre-change data from the undo segments. In Oracle Database 10g, this facility was enhanced with the introduction of Flashback Versions Query, where you can even track the changes made to a row as long as the changes are still present in the undo segments.

However, there was a little problem: When the database is recycled, the undo data is cleaned out and the pre-change values disappear. Even if the database is not recycled, the data may be aged out of the undo segments to make room for new changes.

Since pre-11g flashback operations depend on the undo data, which is available only for a short duration, you can't really use it over an extended period of time or for more permanent recording such as for auditing. As a workaround, we resorted to writing triggers to make more permanent records of the changes to the database.

Well, don't despair. In Oracle Database 11g, Flashback Data Archive combines the best of both worlds: it offers the simplicity and power of the flashback queries but does not rely on transient storage like the undo. Rather, it records changes in a more permanent location, the Flashback Recovery Area.

No comments: