Oracle Database Changed the World By Ken Jacobs Database commemoration event provides opportunity for reflection on 25 years of Oracle. Recently, I was a panelist at a Computer History Museum event in Mountain View, California. The Computer History Museum, home to one of the largest collections of computing artifacts in the world, is dedicated to the preservation and celebration of computing history. The panel—"How Databases Changed the World"—was a tribute to the relational database market and included database luminaries from Sybase, Informix, Ingres, and IBM in addition to Oracle. We discussed how databases have changed the face of business, as well as key milestones, obstacles, and lessons learned. In the process of preparing for this event, I paused to reflect on where Oracle has been, where we are, and where we're going. The Relational Database Evolution It's hard to imagine a world without databases. Every time you withdraw cash from an ATM, make airline reservations, or charge something on your credit card, database systems are working behind the scenes. Since the development of the relational database model, in 1970, and since the introduction of Oracle as the first commercial relational database system, in 1979, database technology has evolved rapidly and now is essential to just about all transaction processing and business intelligence applications. This evolution is continuing, with innovations such as Real Application Clusters and integrated XML capabilities. From its beginnings, Oracle has been dedicated to a philosophy of "portability, compatibility, and connectability," the very essence of open-systems computing. In contrast to closed, proprietary approaches that lock a customer in to a particular vendor's solution, the open-systems market allows customers to benefit from the lower costs and faster rates of innovation that are the result of competition. Oracle's portability to a wide range of platforms and architectures continues to protect customers' investments in application development, allowing them to move their applications to new hardware and operating system environments as technology and needs change. Indeed, over the years, Oracle has helped its customers transition from centralized applications running with dumb terminals to client/server computing to internet-style computing. Leading the way in database compatibility, Oracle was the first database product tested to comply with the ANSI SQL standard. Ever since, Oracle has continued to provide products that conform to industry standards and to contribute to development of those standards. By providing standardized interfaces and a variety of gateways and distributed computing technologies, Oracle has remained true to this philosophy during more than 25 years of industry leadership. The World's First Commercially Available Database The relational database revolution began when IBM researcher Dr. Edgar Codd published the paper "A Relational Model of Data for Large Shared Data Banks." Oracle Chairman and CEO Larry Ellison, along with friends and former coworkers Bob Miner and Ed Oates, had started a consultancy called Software Development Laboratories (SDL), in Silicon Valley. Ellison and Miner read Codd's paper and another paper published in the November 1976 IBM Journal of R&D; that described a preliminary version of the SQL language. Ellison saw tremendous business potential in database software, and he and his cofounders at SDL began building what would become the first commercially available relational database management system. SDL programmers called their finished product Oracle, after the code name of a CIA-funded project Ellison and Miner had worked on at a previous employer, Ampex. (Coincidentally, the CIA would become one of Oracle's first customers). In 1979, SDL changed its company name to Relational Software, Inc. (RSI), and in 1983, RSI renamed itself Oracle Corporation, to more closely align itself with its primary product. Oracle Version 2—First Oracle RSI first offered Oracle commercially in the summer of 1979, on Digital Equipment PDP-11 minicomputers. The new database product incorporated a reasonably complete implementation of SQL, including subqueries, joins, and other features, but it was not very reliable and lacked certain important functionality such as transactions. This first Oracle was named version 2 rather than version 1 because the fledgling company thought potential customers were more likely to purchase a second version rather than an initial release. Oracle version 2 was the first of many versions to come over the years, each adding innovative new technologies and improved features. About halfway between the time Oracle released version 2 and version 3, I joined the company, helping establish Oracle's first Washington, D.C., office in 1981. Oracle Version 3—Portable Oracle In March 1983, RSI released a new version of Oracle that was entirely rewritten in the then-new C programming language, increasing its portability beyond the range of operating systems that ran on the Digital Equipment Corporation PDP-11. Oracle version 3 also introduced atomic execution of SQL statements and transactions. This means that unlike in Oracle version 2, a SQL statement would succeed or fail in its entirety, and transactions would be either committed or rolled back fully. Oracle version 3 also introduced nonblocking queries, using data saved in a "before image file" for both queries and transaction rollback, thus avoiding the use of read locks (even though its throughput was limited by use of table-level locking). Oracle Version 4—Reliable Oracle A year and a half later, in October 1984, Oracle released version 4, with improved stability and a new feature called read consistency—the assurance that a query will see a set of data that remains consistent during execution. I think the benefits are obvious: For example, money shifted between bank accounts during a query isn't miscomputed, and employees added to an HR database during a query won't be miscounted. Oracle Version 5—Distributed Oracle In 1985 and 1986, Oracle released versions 5.0 and 5.1, which are remarkable in that they were among the first client/ server RDBMSs, so that business applications running on desktop PCs (clients) could access a database server over a network. Version 5.1 supported distributed queries, allowing a single query to access data stored in multiple locations. Oracle Version 6—Scalable Oracle Oracle version 6, released in July 1988, was a rewrite that introduced a new architecture for enhanced performance, scalability, and availability. One of the most important of its new features was row-level locking—a transaction performing writes locks only the affected rows (not an entire table), resulting in improved system throughput when many users are accessing the same data. Oracle version 6 also introduced hot backups, allowing a database to be backed up while in use. Oracle7—Programmable Oracle After years of intense research, development, and testing, Oracle7 was released in June 1992. It introduced new performance features, distributed transactions, administration enhancements, new tools for application development, and security methods. Oracle7 also included new capabilities such as stored procedures, triggers, and declarative referential integrity, making the database programmable and able to enforce business rules. Oracle8—Object Oracle At New York City's Radio City Music Hall in June 1997, Ellison unveiled Oracle8, which laid the groundwork for supporting the internet, network computing, and new types of information. Oracle8 included support for object-oriented development and new multimedia applications. Oracle8i—Internet Oracle Fifteen months later, Oracle8i was introduced. It was associated with the internet (hence the "i"), because of its new features designed to support internet-based activities and applications. Oracle8i became the first database to incorporate a native Java runtime environment, allowing stored procedures and triggers to be written in the Java language, which was gaining popularity. Oracle8i also included support for SQLJ, an open standard for embedding SQL database statements into client or server Java code, and Oracle interMedia, for managing multimedia content. Oracle9i—Unbreakable Oracle At events around the globe in June 2001, Oracle released Oracle9i. Perhaps Oracle's most significant release ever, the new database contains technologies that will forever change the competitive landscape. Foremost among the 400 new features in Oracle9i is Real Application Clusters, a unique technology that permits multiple clustered computers to share access to a single database, for new levels of scalability, availability, and affordability. Besides offering record-breaking TPC-C benchmark results and innovative features for high availability and security, the new database also contains integrated business intelligence. Along with a number of other key enhancements, Oracle9i Release 2 makes Oracle a native XML database; it contains a powerful facility for storing and accessing XML documents, putting SQL and XML on equal footing. Prognosticating Oracle's Future Oracle innovation continues to enable our customers to spend less and do more. So where are we headed? Two of the many important directions include Linux and grid computing. Oracle was the first commercial RDBMS to become available on Linux, in August 1999. The company embraces the Linux revolution and currently offers Oracle9i Database, Oracle9i Application Server, Oracle9i Developer Suite, Oracle Collaboration Suite, and Oracle E-Business Suite on major Linux distributions such as Red Hat, SuSE, and Caldera. Oracle provides first-level support to its customers for Linux and has also contributed key technologies to the open- source community (memory management, I/O, and a clustered file system). In addition to Linux, Oracle has developed industrial-strength applications that run on clusters of commodity blade servers, or grids. Much like the utility grid that powers your home, grid computing delivers computing as a utility. On the server side, grid computing is about resource allocation, information sharing, and high availability. Resource allocation ensures that everyone gets the processing cycles he or she needs and that resources don't sit idle if requests are pending. Information sharing ensures that information and applications are available where and when they're needed. And naturally, a grid must be highly available. With these remarkable milestones in its more-than-25-year history, Oracle remains committed to continual technological innovation. Ken Jacobs (ken.jacobs@oracle.com) is a vice president of product strategy for Oracle Server Technologies and host of the program Dr. DBA (oracle.com/drdba). Historically speaking, Jacobs is Oracle employee No. 18. |