Standards & Technology

A Look Behind the Scenes

Creating and Implementing Database Standards



If users don't articulate what they need in database standards, they may find themselves with standards that don't solve their problems.

By Carl Cargill

The idea of standardization within the database arena is not new to the IT industry. All sorts of standardization activities have been focused on this arena, probably the best-known of which is the Structured Query Language (SQL) standard produced by the Accredited Standards Committee (ASC) X3 H2 (the database standardization committee of ASC X3). It has been estimated that the successful standardization of SQL was one of the reasons for the success of relational database management systems (RDBMSs) a decade ago. (The standard used was the Standard Query Language from IBM.) While not actually achieving much in the way of true interoperability, the SQL standard provided the market with the assurance that there would be a second source for any relational database. The success of the standard as an implementable piece of technology can be traced to the efforts of the SQL Access Group (SAG), which took the standard, cleaned it up and provided implementation details for companies that would use it.

The standardization effort played an important role in this process. It did not serve as a technical guide to open systems, standardizing the way the databases achieve interoperability. Although this was its original purpose, standardization rarely achieves such results. More often, the standard serves a business function rather than a technical one. In the case of relational databases, the function of the standard was to assure potential purchasers that there were other vendors who could provide a similar capability to the one being bought. This--not the standardized technology--helped move the market to relational databases. (This analysis, of course, ignores the technology and the market need for relational databases in the first place.)

However, I believe that if the standardization had not been in place, one of two things would have happened: either a single major vendor would be providing the technology now (in the manner of Microsoft) or there would be multiple smaller vendors, each with a unique system of doing something, resulting in a fragmented market for relational databases. Another possibility might have been that a different technology would have appeared, around which the majority of vendors would have coalesced. In any case, the success of the market would have depended upon the ability of the vendors and suppliers to work together to solve a business problem.

The proof of this concept will be, of course, whether the same tactic can be duplicated by the market. There is currently a move under way to standardize object-oriented databases. The leading activity in this area has been undertaken by the Object Database Management Group (ODMG), which created a standard for object-oriented databases in 1993. ODMG-93 was published for use and implementation by the industry, with commitments from seven object-oriented database vendors to implement the standard in 1995. The consortium is now beginning to work with other consortia (primarily the Object Management Group) and with X3 J16 (C++), and X3 H2 to ensure that the work on ODMG-93 is made available to a larger audience for study, review and implementation. The test of the theory will be if the market for the object DBMS expands and both users and providers begin to accept the activities of the ODMG. (For a further description of the activities of the ODMG, see Rick Cattell's account in "Experience with the ODMG Standard," StandardView, Sept. 1995, pp. 90-95. It is available from ACM at 800/342-6626.)

DRDA and The Open Group

At the same time as this work, there is a database interface protocol standardization effort occurring in The Open Group, that amalgam of the Open Software Foundation and X/Open Co. In 1995, in a move that surprised X/Open and many independent software vendors (ISVs), IBM announced that it was giving its proprietary distributed relational database architecture (DRDA) specification to X/Open for standardization. The activity kicked around for a while, because X/Open wasn't used to having its technical program driven by single-vendor press announcements. After a while, DRDA activity ended up in the Open Group marketing committee, where I chaired the DRDA task force.

The problem with DRDA was complicated. The RDA standardization effort in ISO and X3 had not been successful, and the earlier effort in X/Open had been largely abandoned. The market demand for these earlier standardization efforts never manifested itself in user demands--the market seemed to be coping with the problem of disparate database interface protocols. The task that faced X/Open was threefold. The first question was to determine if X/Open was the proper forum for this type of standardization; that is, a proprietary specification with a large installed base. The second question was whether or not the market needed a database interface protocol. The third question to be considered was whether DRDA was the right one.

The first answer was an easy yes; X/Open had, after all, accepted the Unix specification for standardization. On the next question, there was substantial disagreement on such topics as gateway, user demand and market size. As this was to be a marketing/business issue, the primary consideration was to be given for a marketing case. The real problem here was not so much the technology standardization--that is, the actual modification of the IBM DRDA specification to make it more open--as the issue of the need for the activity at all.

The major database vendors (Informix, Oracle and Sybase) pointed out that their customers were happy with the current situation. IBM and Starware pointed out that the gateway process was inefficient and costly. The retort was that the database vendors and the market have been seeking the "silver bullet" for interface standardization for years and never managed to find one. The discussion became heated, and ultimately the task force voted to reject the submission. The rationale for rejection was simple: There wasn't enough consensus on the proposal to succeed.

Whose Problems Get Solved?

Two real issues implicit in standardization surfaced in this discussion. The first lay with the nature of the question being solved. The solution provided by IBM was exactly that; a solution proposed before the users were asked if there was a problem or if the IBM answer was correct. The question that came to haunt the discussions was What is the problem? IBM and Starware posited the problem as one that DRDA could solve; the other vendors posited the problem as one that was being solved by gateways. Neither side looked at the issue of user needs; one was going to change the market because they had the answer, and the other was content to let the market react and let the users pay a price in inefficiency. The real question that should have been answered was What is the problem that the users want solved, and how would my solution help them be more (or less) ________ (enter any one of many user requirements here)?

The second issue derived from the fact that there was no consensus possible in this case. The two sides started from installed-base positions; IBM with its proprietary DRDA base and Informix, Oracle and Sybase with their own solutions. Essentially, IBM put the DRDA issue into X/Open and hoped that the organization would bless it; the ISVs objected, and a "standards war" almost began. Consensus--while not necessarily indicating unanimity--indicates that a majority of the market accepts the standard and will not fight against it. This wasn't the case.

Database interface protocol efforts seem to have ground to a halt within most standardization organizations. The problem is that users have not clearly elucidated their needs in a way that providers can hear. While this may be changing, it still remains a major problem for all standardization groups. What users should do--especially those in UniForum, who are, after all, most concerned with open systems--is to state functional requirements collectively and clearly. Part of the response depends on how much you're willing to pay and when you want it, as well as whether you want a "silver bullet" or would be content with a solution that, like SQL, is "good enough." The important thing to remember is that users validate standardization and ultimately cause it to happen or not. By not participating, users give away their ability to structure the future direction of the market to either the government or the providers.

Carl Cargill is standards strategist at SunSoft in Mountain View, CA. He can be reached at carl.cargill@eng.sun.com.