Inside Oracle 39
By Graham Keitch
Graham Keitch looks back over 30 years of database development at Oracle.
HardCopy Issue: 39 | Found In: Database | Published: 01/02/2008 | Last Revision: 14/04/2010
Just over 30 years ago, in 1977, Larry Ellison, Bob Miner and Ed Oates founded Software Development Laboratories. Their first project, which they codenamed ‘Oracle’, was to develop a database for the CIA. With this complete, the team set about creating a commercial release of the product and in 1979 version 2 became the first commercial relational SQL database. It ran on Digital VAX minicomputers before being ported to UNIX.
IT strategy was more hardware driven in those days and most companies would have used the proprietary database that shipped with the mainframe. Minicomputers provided a niche market for Ellison’s team and an opportunity to create a database that was cross-platform and portable. By 1980, minicomputers and UNIX workstations were becoming common in the office and a growing market was emerging for a database with a user-friendly query language. The Oracle SQL implementation met this requirement and was soon in great demand.
New SQL capabilities and tools were added in 1981 that enabled users to create applications. These were effectively the predecessors of Oracle Forms. The database was designed for scalability to accommodate the growing number of processors in UNIX boxes.
The company was renamed Oracle in 1982. The version was now 2.3 and able to run on a variety of DEC VAX minis and IBM mainframes. In 1983 the server code was rewritten in C for version 3, allowing it to run anywhere capable of supporting a C compiler. Commit and roll-back support for transactions was introduced at this time and read consistency appeared with version 4 in 1984. These were the sort of features that, together with end-user tools like spreadsheets, would secure a place for Oracle in the business computing world.
Evolving architectures
The client-server architecture was established in 1985 with version 5 and support for distributed computing was introduced in 1986 which allowed a single query to access data stored in multiple locations. Digital had by now introduced VAX clustering which allowed multiple processors to interact with a common set of disks. Seeing the performance benefits of this for the database environment, Oracle started its own research into clustering which later resulted in Real Application Clusters. Some of the development tools we are familiar with today, such as SQL Forms and SQL Plus, appeared around this time.
Larry Ellison celebrates Oracle's 30th anniversary while standing in front of an image depicting him and his colleagues celebrating Oracle's first birthday, 29 years previously.
Demand for high speed online transactional processing and scalability resulted in a number of ground-breaking features arriving with version 6 in1988. Row-level locking as opposed to locking an entire table during a write operation helped to improve throughput. Hot-backup support and fault tolerance also appeared and developers were given PL/SQL for storing and invoking procedures in the database, server-side.
Oracle 7 appeared in 1992 with a host of new capabilities such as stored procedures, triggers and declarative referential integrity making the database programmable and capable of enforcing business rules. Security and auditing features we now take for granted were introduced at this time. With the PC and Web becoming widely established, the database was ported to Microsoft NT in 1994 and the development and modelling tools followed in 1996.
By this time, Oracle was providing support for clustering and parallel operations on Windows NT and was investing heavily in catering for the Microsoft platform. The release of the completely Java and Web-enabled Oracle 8 and Application Server 4 followed in 1997. Both products were to cement Oracle’s leadership in the world of distributed enterprise computing. JDBC drivers, JSQL and a Java virtual machine were integrated into the database as Java became more prominent for Web development. Partitioning was also introduced at this time, ten years ahead of the competition. The mobile 8i Lite appeared in 1998 followed by XML support and a Linux edition in1999.
Ten years of research into cluster technology culminated with the 9i release and RAC (Real Application Clusters) in 2001. RAC allows you to virtualise server clusters which paved the way for the introduction of grid technology in 2003 when 10g was released. Grid technology allows data centres to spread work across a number of low cost physical machines, so reducing cost while improving performance and resilience. Before this, 9i release 2 had already delivered improved compression and was the first database to provide native XML support.
Despite its advanced capabilities, Oracle continues to ensure its technology is accessible to smaller businesses. A free 10g Express Edition was introduced in 2005 that shares the same codebase as the Enterprise Edition. Free tools are also available for .NET developers building applications for Oracle, and Grey Matter runs the Oracle on Windows portal to promote this. Meanwhile, Oracle achieved another first in 2006 with Secure Backup, a technology that embeds backup logic inside the database engine so that sensitive data can be encrypted prior to backup. Last year, 11g was released with a number of innovations to improve manageability and ease of use, as described in the September 2007 issue of HardCopy magazine.