Oracle Update

By the time this column hits the streets, Oracle will have announced Oracle8.1, the next major release of its flagship product. The formal beta test for this version is slated to begin this month, with general availability in December. With almost a full year of development behind it, Oracle8.1 contains a variety of interesting features, including some features hinted at in earlier releases.

The most interesting new feature is a Java Virtual Machine (JVM). Oracle8.1 will enable developers to write application logic such as stored procedures and triggers using Java, not just PL/SQL. The JVM is an embedded engine, with a per-connection memory footprint of approximately 40 KB. It runs standard Java byte code, and can compile selected Java code to machine code for enhanced performance. Enterprise JavaBeans (server-side Java components) will be supported, extending the capabilities of the base engine along with the ability to publish PL/SQL stored procedures as Enterprise JavaBeans.

Oracls 8.1 provides integration with application development environments using either the SQLJ language, which embeds SQL in Java, or JDBC drivers. In addition, Oracle8.1 will support CORBA IIOP for interoperability with CORBA-compatible applications.

Leveraging the messaging capabilities built into Oracle8, Oracle8.1 provides limited publish and subscribe services. Users will be able to register interest in database events and receive notification from the Oracle8.1 system with message gateways to IBM MQSeries and Microsoft Message Queue (MSMQ) software.

Recognizing the scalability and availability limitations of NT’s clustering approach, Oracle has implemented Oracle8.1 Parallel Server. The Parallel Server edition enables multiple systems to work cooperatively in a shared database environment. A key issue is maintaining acceptable performance in a distributed architecture when two or more systems request the same page for read/write access. In prior versions, the requested page had to be written to disk from one machine before it could be read into memory on the requesting machine. In this version, the distributed lock manager manages database consistency by transferring requested data blocks across a memory-to-memory interconnect. This eliminates the bottleneck of the disk drive. However, this architecture isn’t as scalable as a shared-nothing architecture.

Data warehouse enhancements include the ability for users to compute and store frequently executed data aggregation result sets. Effectively, the user creates a minicube, which is stored as a standard table. If the optimizer detects that a aggregation result set exists in the database, it will transparently rewrite subsequent queries to reuse these precomputed results, which can result in a significant performance enhancement, especially if the base data table is very large.

Speaking of large, Oracle8.1 also enhanced its partitioning capability with data hashing, which enables the DBA to distribute data more evenly across an available disk farm. A number of miscellaneous data warehouse enhancements include improvements in bit-mapped index performance, extensions to the CUBE and ROLLUP SQL commands, and compressed result sets.

Manageability is enhanced with the ability to support mixed workloads by the allocation of system resources to groups of users. There are also some enhancements to the way the optimizer manages statistics, enabling a DBA to take run-time statistics and replay them against a test environment to assess the impact of proposed modifications. And, there is a new Java-based Enterprise Manager, which can interface with an enterprise management framework, such as that from Tivoli Systems Inc.

With the exception of the embedded JVM, I don’t think there is a clear, compelling reason to deploy Oracle8.1 if your current database meets your needs. Oracle sees NT as the next growth market, and the major competitive threat the company is focused on is Microsoft SQL Server 7.0. The timing of the release for Oracle8.1 is undoubtedly driven, at least in part, by the planned release of SQL Server 7.0 at the end of the year.

What should you do? If you’re planning on deploying a new NT database application in 1999, it would be worthwhile to compare Oracle8.1 and SQL Server 7.0 to see which best meets your company’s business needs. But you should also look at other databases, such as IBM Corp.’s DB2 or Informix Corp.'s Informix for transaction processing, or Red Brick Systems Inc.’s Red Brick Warehouse or NCR Corp.’s Teradata for decision support. Oracle8.1 has the edge over SQL Server 7.0 in terms of features and scalability, but SQL Server 7.0 will have Plato and Data Transformation Services bundled in and will provide better support for OLE DB.

Robert Craig is director, Data Warehousing and Business Intelligence Division, at Hurwitz Group Inc. (Framingham, Mass.). Contact him at