.
The hype surrounding the next generation of relational DBMSs -- extended-relational or object-relational "universal servers" -- is impressive. The purpose of this two-part article is to cut through the marketing camouflage, identify what we really mean by "object-relational," and present the facts about what is available and what is coming in the future from the vendors.
In Part I (DBMS, June 1997, page 42), I described the application requirements driving the efforts to extend the RDBMS to handle complex data. I made the point that a universal server is not necessarily a complete solution for all user requirements. It is but one component of an extensible data management environment, along with database and application middleware and an object layer to integrate the front-end application with other tiers in the computing system. I also discussed the core features required to achieve RDBMS server extensibility.
This article covers how the five major RDBMS vendors -- Informix Software Inc. (Menlo Park, Calif.), IBM Corp. (Armonk, N.Y.), Microsoft Corp. (Redmond, Wash.), Oracle Corp. (Redwood Shores, Calif.), and Sybase Inc. (Emeryville, Calif.) -- actually support data extensibility. First I place each vendor's strategy and product plans into the context of an extensible data management environment (namely what components each plans to provide). Then I describe its approach to adding object extensions to the DBMS server. At press time, both Informix and IBM were shipping extended relational products; Oracle8 was in beta, with a formal announcement and availability scheduled for June. Sybase had just introduced its new Adaptive server Architecture. Microsoft was focused more on pushing OLE DB than on extending SQL Server for object support. (Table 1, page 76, summarizes object-relational features for Informix, IBM, and Oracle.) Maurice Frank's sidebar on page 82 details the extensibility support provided by other DBMS vendors.
Informix
Informix has been out in front of the object-relational wave since its acquisition of Illustra in early 1996. The company's commitment to merging Informix-OnLine 7.2 and the Illustra Server by the end of that year generated considerable skepticism in the industry. But the company met the spirit if not the letter of its promise, delivering Informix-Universal Server (IUS) into controlled release on three platforms by the end of December. IUS is now generally available on 10 platforms.
Context
Informix has focused primarily on the universal server component of the overall architecture. The company has not yet articulated a broader architectural vision across multiple tiers except in the Internet/Web space (with its WebConnect product). The company is, however, addressing the need for complex-data support within tools and applications with its recently announced Data Director product (acquired when the company purchased CenterView Software Inc. earlier this year). This gives leading development environments -- Java development environments (JDEs), PowerBuilder, Visual Basic, and others -- access to SQL3 extensions and, therefore, access to new data and functions within IUS.
Object Extensions
In its first release, IUS combines OnLine 7.2 with the DataBlade API from the Illustra Server and SQL3-based language extensions to support a wide range of object capabilities. These include:
- Extensible type system for integration of user-defined types (UDTs) -- Distinct types, opaque abstract datatypes (ADTs), row types, and collection types, including unlimited nested tables. IUS supports single inheritance among a hierarchy of named row types. (See Figure 1, page 77.) In addition, any table that is based on a row type becomes a typed table that can also be part of a hierarchy. Reference types and SQL3 ADTS are coming, as is replication of UDT data.
- User-defined functions (UDFs) -- A full range of UDF types plus support for overloading, function resolution based on multiple attributes, and parallel execution of functions where appropriate. (IUS parallel capabilities apply to SMP platforms. Informix-OnLine XPS adds parallel support for clusters and MPP platforms but does not yet include any object extensions.)
- Extensible indexing system -- R-trees, the application of B-trees to user-defined data, and user-defined index structures.
- Extensible optimizer -- IUS has a table-driven optimizer that allows the integration of UDFs, new index structures, and new access methods. The developer can specify the cost of executing a UDF and register a new index type. The latter includes defining what functions use the index, the interface routines for index access, and the cost of using the index. Indexes stored in the DBMS are under database transaction management; third-party vendors must manage the integrity of external indexes. The optimizer also applies parallel operations to partitioned user-defined data and indexes.
- LOBs and external data -- Large objects (LOBs) can be stored inside the database (in smart BLOBs) or in external files. IUS does not guarantee the integrity of data stored in external files, but Informix has future plans in this area. A virtual table interface allows external data to be registered in the database catalogs and accessed as if they were IUS tables.
- Extensible language support -- UDFs and stored procedures are written in extended SQL, C, or Java, with native C++ support coming. IUS also has a generalized language interface for integration of other languages.
- Predefined extensions -- Informix has recruited many third-party software vendors to write DataBlades for IUS. A DataBlade is a packaged set of extensions representing a particular application domain such as text search, image management, and financial analysis with time series data. A DataBlade is integrated with the core IUS server using a call-level interface (the DataBlade API). As of June, Informix estimated that approximately 20 DataBlades would be shipping, 10 more would be in beta, and another 50 or so would be in development for delivery in 1997. Informix offers both a DataBlade SDK and a certification program. Currently, DataBlade components can run in the same address space as the server for performance, or they can run in an extension virtual processor to minimize the risk of a faulty DataBlade bringing down the server. Informix plans to allow deployment and execution of DataBlade components outside the server process and on other tiers as well.
- Application language extensions -- In addition to support for IUS datatypes within its own NewEra development environment, Informix is also providing a new client engine, Data Director, for third-party development tools. Data Director provides a "complex-data-enabled" connection between data-bound controls in applications and the data stored in IUS. It uses a native interface to IUS (a Java API for JDEs and a C++ API for Windows tools), not ODBC, and it adds support for SQL3 language extensions.
In its passion to be the first to deliver object-relational capabilities, Informix has not effectively balanced its emphasis on new technology vis-à-vis its core business and the market-leading position it had worked so diligently to establish for Informix-OnLine 7.x. Prior to the Illustra merger, the company had focused much of its energies on performance and scalability. It reengineered Informix-OnLine into an efficient, multithreaded database server that takes advantage of multiple processors through parallel execution of database operations. This message somehow disappeared in all of the attention bestowed on IUS. Informix must also deal with the fact that it now has three database servers: IUS, OnLine, and the high-end OnLine XPS.
The company would have benefited from presenting object-relational in a more evolutionary way. On the other hand, Informix has succeeded in creating a DBMS server that melds extensive object capabilities with robust, high-performance data management. IUS is a superset of OnLine and should be clearly marketed as such. I also expect Informix to reposition IUS as more than just a universal server. It will become an extensible data management platform with broad applicability (particularly in the middle-tier space) and the foundation for Informix's overall architectural vision.
IBM
IBM's research on an extensible relational database infrastructure dates back more than a decade, and the company was the first major vendor to ship an RDBMS server with object extensions: DB2 Common Server 2 in July, 1995. IBM is now ready to deliver a major upgrade of the product with a new name: DB2 Universal Database. This represents the merging of DB2 Common Server 2.1, including initial object-relational capabilities, with DB2 Parallel Edition 1.2's parallel capabilities on the full range of multiprocessor platforms -- SMP, clusters, and MPP, plus many new features. The key point here is that IBM is consolidating all of its open-systems data management functionality into a single server codeline. This will become the foundation for all new development on these platforms. Complex object extensions will, therefore, be built from the beginning in a fully parallel environment.
Context
IBM has a broad object-relational strategy encompassing four major components. First, DB2 Universal Database (UDB), IBM's universal server offering, is in beta, with general availability scheduled for the third quarter of 1997. Second, robust file links, a type of UDT (see Figure 2), enable DB2 UDB to actively manage data stored externally, ensuring that this data meets DBMS security and integrity requirements. I expect to see this implemented by the end of 1997. The third component of IBM's strategy is DataJoiner, a database middleware for heterogeneous data access. It includes the full functionality of the DB2 server, a global optimizer with extensive knowledge about supported data sources, and the ability to compensate for differences in functionality among these data sources. The plan is to enable DataJoiner to take advantage of DB2 UDB's object-relational extensions and deliver them to all of its supported data managers. Finally, IBM is developing an object layer component called Client Object Support. It will provide a single logical view and transaction consistency across all accessible data, client cache management with local execution options, and integration with object-oriented languages. I expect IBM to support application middleware, such as CORBA, through Client Object Support.
Object Extensions
Here is a summary of the object support in DB2 Universal Database and what is planned for future releases.
- Extensible type system -- Distinct types, opaque ADTs, and OLE objects with future support for SQL3 ADTs, row types, collection types, references, multiple inheritance, and replication of UDT data.
- User-defined functions (UDFs) -- Scalar UDFs plus support for overloading, function resolution based on multiple attributes, and parallel execution of UDFs. Coming are table functions. UDFs can run inside the server address space for performance or outside for security.
- Extensible indexing system -- IBM provides its own special-purpose indexes for datatypes supported in the DB2 Relational Extenders. A future release will support user-defined index structures; navigational access via references; and the ability to build an index on an expression, on the output of a function, and on the attribute of an ADT.
- Extensible optimizer -- DB2 already has a rules-based optimizer with the ability to perform significant global optimization and query transformation. IBM plans to expose the optimizer interface so that new rules can be added. The developer can specify the cost of a UDF, including whether a function involves external actions. With the integration of DB2 Parallel Edition, the optimizer also applies parallel operations to partitioned user-defined data and indexes. Indexes created by Extenders are not yet fully integrated into DB2 but will be in the future.
- LOBs and external data -- Large objects can be stored inside the database or in external files. DB2 can access data stored outside the server today, and a future release (by the end of 1997) will guarantee its integrity as well via robust file links.
- Extensible language support -- UDFs are written in C, C++, Visual Basic, or Java; stored procedures are written in a 3GL, a 4GL, or Java. SQL3 language extensions are coming for both.
- Predefined extensions -- IBM provides Relational Extenders for text, image, video, audio, and fingerprints. The company is building partnerships with third parties that will add to the portfolio of extensions. An example is ESRI, which has built a spatial extender. An extender developer's kit is now available.
IBM was late to the open-systems database market but has managed to do a lot of things right. As a force in the development of DBMS technology, IBM certainly understands the need for a comprehensive, extensible data management environment. IBM has always been an "architecture" company that spends significant time on the big picture while keeping a clear focus on what customers in the trenches really want. IBM has forged a vision and a product plan that will enable it to become a market leader. The major challenge will be achieving significant visibility and sales volume on non-IBM platforms.
Microsoft
Microsoft is taking a less database-centric approach to data extensibility than Informix, IBM, or Oracle. Microsoft is still working to overcome its early Sybase SQL Server heritage (that is, no row-level locking or parallel support) and demonstrate the ability of Windows NT to be a successful, high-end database platform. Like Sybase, Microsoft is taking a more component-based approach to the issue of extensibility.
Context
Microsoft is concentrating primarily on the application and database middleware components by providing universal access to data via OLE DB. The company would love to see the major RDBMS players implement OLE DB as an interface to their servers, but none have publicly committed to that. Microsoft in turn is taking a wait-and-see attitude about SQL3.
OLE DB is application middleware that applies a consistent layer of abstraction to a diverse set of datatypes and sources. It provides a single, "object layer" interface for users to retrieve heterogeneous data and for data providers to expose their data. It essentially "componentizes" DBMS functionality and wraps a consistent interface around it.
Microsoft is also evolving SQL Server into a DBMS that can access other data sources by separating the query processor from the data storage engine. These will now use OLE DB internally to communicate. As long as other data store vendors support OLE DB, Microsoft will be able to integrate these into the SQL Server environment for query processing. Microsoft is doing what Sybase did with OmniConnect without breaking the query processor out as a separate product. The philosophy is to enable the user to store data in SQL Server and/or in separate physical data stores, whichever is more appropriate. The SQL Server optimizer will be enhanced for distributed query processing, and cost information will be exchanged among data sources. In addition, each data source will expose its catalog information through OLE DB interfaces.
Object Extensions
Microsoft is not discussing what specific object extensions, if any, are in the next release of SQL Server (targeted for beta later in 1997). The company is also focusing on many other areas of enhancement, including performance, scalability, usability, and manageability. I expect the movement toward objects to be gradual.
Microsoft owns the desktop but not the database market. So its strategy with OLE DB is to foster decomposition of the DBMS into functional components that can be provided by anyone and distributed across the enterprise -- query processors, optimizers, transaction managers, and so on. In this divide-and-conquer approach, Microsoft can pick off components one at a time (such as the Microsoft Transaction Server). OLE DB gives the user much flexibility, but Microsoft will have to demonstrate the performance and robustness of a component-based solution, as well as its ability to transcend Microsoft's Windows NT-only, COM/DCOM domain.
Oracle
The biggest player in any arena usually gets to do whatever it wants, and Oracle is no exception. The company has promoted the message that Oracle8 will have everything that Informix-Universal Server has in the object area and more. However, this won't be true in the initial release of Oracle8. Object extensions will, in fact, roll out over multiple releases. An extended type system and business-object support are the focus of 8.0, with major additional extensibility features coming in 8.1. Oracle is focused on implementing its Network Computing Architecture (NCA) across its own product line, and Oracle8 will be a massive release covering functionality in many areas in addition to objects -- performance, scalability, availability, replication, database messaging, data partitioning, and so on.
Context
Oracle's NCA is a CORBA-based, three-tier application framework. It is the first time Oracle has articulated a comprehensive architecture for integrating its entire product line. NCA incorporates extensibility components called "cartridges" that can be supplied by Oracle or third parties. Initially, using any application or database cartridge requires the Oracle Web Application Server for intercartridge communication via CORBA.
In the context of an extensible data environment, Oracle will provide components primarily at the application middleware (that is, transaction management through the Web Application Server) and the universal server (Oracle8) levels. At the object layer, Oracle8 supports "object views" of data across both new object types and existing relational data in the database. Oracle8 also includes the notion of a client object cache with object navigation via references. (See Figure 3.) The object type translator maps Oracle8 database objects to corresponding C constructs.
Object Extensions
An extended type system, new datatypes, and the ability to begin modeling "business objects" (namely, an object type that represents a purchase order plus its associated line items) appear in Oracle8. Oracle will release an SDK for its Database Extensibility Services later this year. These services include APIs for integrating third-party extensions with internal modules of the Oracle8 kernel (namely the query parser, optimizer, and indexing engine), the ability to write third-party Data Cartridges, support for Java in the server, and other object extensions. Database Extensibility Services will be available in the 8.1 timeframe (1998).
- Extensible type system -- Oracle8's extended type system supports object, collection (varying arrays and nested tables), and reference types. An object type can apply to either a column or a row and can be semantically equivalent to a SQL3-named row type. Oracle8 also explicitly associates methods with object types. Only one level of nested tables is supported in 8.0, which limits object modeling capability. Oracle8 does not yet support the notion of a fully encapsulated ADT. Oracle8 will support single inheritance with Database Extensibility Services. Extended types cannot be replicated.
- User-defined functions (UDFs) -- Scalar UDFs, overloading, function resolution based on multiple attributes, and parallel execution of UDFs with user-defined aggregates (column functions) are under consideration.
- Extensible indexing system -- Support for user-defined index structures and indexes on expressions is coming with Database Extensibility Services.
- Extensible optimizer -- The ability to specify the cost of a UDF and provide statistics on user-defined data is pending in Oracle's Database Extensibility Services. Parallel operations do not yet apply to extended types.
- LOBs and external data -- Large objects can be stored inside the database or in external files. Oracle8 does not support write access to or guarantee the integrity of external data. LOBs can be replicated, but tables with LOBs cannot be partitioned.
- Extensible language support -- UDFs and stored procedures are written in PL/SQL or C/C++. C/C++ routines execute outside the server's address space to prevent corruption. Support for Java in the server is part of Database Extensibility Services (8.1).
- Predefined extensions -- Oracle8 provides its own server options for text, spatial, and video data, with an upcoming new image datatype with time series. The company is also working with several partners to test and formalize the Database Extensibility Services APIs and develop Data Cartridges.
Oracle is focused on providing its own extensions in Oracle8 while giving users facilities to begin the process of modeling business objects in the DBMS server. Because it is implementing third-party extensibility more slowly than either IBM or Informix, Oracle is counting on the fact that customers will be satisfied for the time being with the datatypes Oracle itself provides. The lack of extensibility means that Oracle customers will have to wait longer to get a broad portfolio of predefined building blocks with which to build or enhance applications. On the other hand, Oracle is scoring points with its overall NCA vision and has its plate full ensuring that this becomes a reality within all of its own products.
Sybase
Sybase has begun to articulate its strategy for an extensible data management environment with its recently announced Adaptive Server Architecture. (See Figure 4, page 81.) The emphasis is on component-based application development and deployment, and Sybase plans to support Java, ActiveX, and CORBA object components across all three tiers of the computing environment.
Context
As the next releases of its products begin to roll out later this year, Sybase will provide application middleware (the Jaguar Component Transaction Server), what I would call database middleware for integrated access to complex data, and object layer support through its front-end tools (PowerBuilder).
On the DBMS server side, Sybase is merging its OmniConnect distributed query services back into the database server (renamed Adaptive Server) and rearchitecting it all into layers of common functionality. (Today, SQL Server does not support distributed queries directly, and OmniConnect does not include a local data store.) Over time, these components will be implemented across all Sybase servers and include a common language processor, common services (security, messaging, replication, administration, and so on), and a common component integration layer (OmniConnect distributed query services). It is important to note that these will all run in the same server process with Adaptive Server, not as separate processes.
The component integration layer is the point at which third-party data stores (called specialty datatypes, or SDTs) will be integrated into the Adaptive Server environment. SDTs will use the DirectConnect API with which Sybase built Omni's access to heterogeneous data sources in the past. These data stores may remain physically separate, but users will be able to execute a single query across all supported datatypes. Over time, Sybase may provide extensibility at lower levels in the server architecture (namely the optimizer).
Object Extensions
Sybase has not released many details about its product plans, but here are some general directions:
- Extensible type system -- Sybase will support Java ADTs first and then SQL3 datatypes in future versions of its Adaptive Servers.
- User-defined functions (UDFs) -- Scalar UDFs are supported in SQL Anywhere today. Future Adaptive Server releases will support Java UDFs returning scalar values or Java object references.
- Extensible optimizer -- Sybase will provide global optimization across all SDTs that it provides.
- LOBs and external data -- As discussed, Adaptive Server will support access to external data stored in separate data stores through the Component Integration Layer. Some partners store data and/or indexes inside a Sybase database, and others do not. Support for SQL3 LOBs is planned.
- Extensible language support -- Stored procedures are still written in Transact-SQL, with support coming for Java and the ability to execute JavaBeans in the server.
- Predefined extensions -- Sybase has several partners that provide access to separate data stores for text, geospatial, multimedia/image, and time series data. Sybase resells all but the time series option. Sybase will provide an SDK for other third-party integration.
Sybase has had an extensible environment since the beginning with its Open Client/Open Server APIs. Both Sybase and third-party developers have added new functionality into the Sybase environment using these APIs. Sybase IQ, for example, was initially built as an Open Server application. Sybase has now formalized its architecture for integrating access to complex data into Adaptive Server. It is more akin to IBM's DataJoiner than to the universal server approach taken by IBM, Informix, and Oracle. Sybase's goal is an evolutionary approach. The customer doesn't have to move all data into the database, and Sybase doesn't have to reengineer the entire SQL Server architecture all at once. We will have to wait and see how Adaptive Server performs and the degree of flexibility it provides for the customer.
Keys to Success
Informix and IBM are leading the way toward object-relational and have set the competitive bar quite high. Informix-Universal Server is ahead on object extensions right now. But once IBM delivers DB2 Universal Database, it will have a single, consolidated server on which to build complex object support. Oracle is moving down the same path as Informix and IBM, while Microsoft and Sybase are each taking a different approach to extensibility. That's the technology side. But being ahead or behind in technology really doesn't matter if users don't know how to put it to use effectively. The key to success will be showing customers how and why object-relational extensions help them solve their business problems more effectively than other solutions. It should be an interesting year ahead as reality meets marketing hype in yet another area of potentially critical database technology.
Judith R. Davis is a principal with InfoIT Inc., a DataBase Associates International company that provides in-depth industry analysis on all aspects of new and evolving information technologies. She has over 15 years of experience as a consultant and industry analyst specializing in DBMSs and related technologies. You can email her at jdavis@dbaint.com.
This article has been adapted from InfoIT's in-depth research report, Object-Relational DBMSs, which is available on the InfoIT Web site, www.infoit.com.
See also the sidebar, "Other Planets in the Universe," by Maurice Frank
* IBM Corp., Armonk, NY; 800-426-3333 or 914-765-1900; www.ibm.com.
* Informix Software Inc., Menlo Park, CA; 415-926-6300 or fax 415-926-6593; www.informix.com.
* Microsoft Corp., Redmond, WA; 800-426-9400, 206-882-8080, or fax 206-936-7329; www.microsoft.com.
* Oracle Corp., Redwood Shores, CA; 415-506-7000 or fax 415-506-7200; www.oracle.com.
* Sybase Inc., Emeryville, CA; 800-685-8225, 510-596-3500, or fax 510-922-9441; www.sybase.com.
| TABLE 1. Object-Relational Features Matrix
|
| Feature | Informix - Universal Server | IBM DB2 - Universal Database | Oracle8
|
Extensible type system (user-defined types, or UDTs) | Yes | Yes | Yes
|
| Support for strong typing | Yes | Yes | Yes
|
| Support for hierarchies of types and inheritance | Yes; single inheritance for named row types and typed tables | No; multiple inheritance coming | No; single inheritance coming in 8.1
|
|
|
| Data replication support for UDTs | No; planned | No; planned | -
|
|
|
| User-defined functions (UDFs) | Yes | Yes | Yes
|
| Function overloading | Yes | Yes | Yes
|
| Function resolution based on multiple attributes | Yes | Yes | Yes
|
|
|
| Extensible indexing system | Yes | No; planned | No; planned as part of Database Extensibility Services
|
|
|
| Extensible query optimizer | Yes; table-driven | Yes; rules-based; but interface not exposed; planned | No; planned as part of Database Extensibility Services
|
|
|
| Support for large objects (LOBs) | Yes; SQL3 LOBs | Yes; SQL3 LOBs | Yes; SQL3 LOBs
|
|
|
| Support for external data | Yes; access only; future plans for management of external data | Yes; access only with full management coming via robust file links | Yes; access only
|
|
|
| Integrated searchable content | Yes | Yes | Yes
|
|
|
| Extended language support
|
| 3GLs | Yes; C/C++ | Yes; C/C++, any language supporting C calling conventions | Yes; C/C++
|
| 4GL | No | Yes | Yes for PL/SQL
|
| Object-oriented languages | Yes for Java; C++ coming | Yes for Java; others coming via Client Object Support | No; Java planned in Database Extensibility Services (8.1)
|
|
|
| Predefined extensions available | Yes; over 20 DataBlades available from Informix and partners with 10 more in beta and 50+ in development | Yes; text, image, video, audio, and fingerprints from IBM; spatial from ESRI coming in 1997 | Yes; text (Context option), spatial (Spatial Data Option), video (Video Server Option), image from Oracle with time series coming
|
|
|
| Facilities (API, developer's kit) for adding extensions | Yes | Yes | No; SDK for Database Extensibility Services coming later 1997
|
| Platforms | Unix from DG, DEC, HP, IBM, NCR, Sequent, SGI, SNI/Pyramid, and Sun Solaris; Windows NT | Unix from HP, IBM, and Sun Solaris; Windows NT; OS/2; coming on Sinix, OpenServer/Gemini | Unix from DEC, IBM, HP, Sequent, and Sun Solaris; Windows NT
|
| Source: InfoIT, Inc., a DataBase Associates company
|
Figure 1.

-- Inheritance in Informix-Universal Server.
Figure 2.

-- IBM's Robust File Links for Managing External Data.
Figure 3.

-- Oracle8 Object Cache
Figure 4.

-- Sybase Adaptive Server Architecture.
What did you think of this article? Send a letter to the editor.
Subscribe to DBMS and Internet Systems -- It's free for qualified readers in the United States
July 1997 Table of Contents | Other Contents | Article Index | Search | Site Index | Home
DBMS and Internet Systems (http://www.dbmsmag.com)
Copyright © 1997 Miller Freeman, Inc. ALL RIGHTS RESERVED
Redistribution without permission is prohibited.
Please send questions or comments to dbms@mfi.com
Updated Wednesday, June 18, 1997