Introduction

I l @ ve RuBoard

Databases are an essential staple of the technological world. In some sense, you could say that the most universal function of computers is to serve as a database system. The early punch card readers, which predate the modern computer, were originally used by the U.S. government and large businesses as a method to collect, aggregate, and report data. This general purpose formed the basis for the modern computer to be developed.

In the early days of the modern computer, each program was expected to be able to handle its own data storage and retrieval functions. This, of course, placed a significant burden on early programmers, who had to write extra code that had nothing to do with the true function of their application. Moreover, it turns out that it is difficult to store data efficiently and reliably; therefore, it was only natural that the idea of a database was born.

Early database systems were a unique but welcomed concept. Existing as an entirely separate application, programmers were no longer required to write all the code necessary to perform the low-level file access functions for data storage. Instead, programmers could devote their time to writing code that pertained directly to the application they were designing. Their application simply had to tell the data engine what data it needed to store or retrieve, and the database system would handle the request. By the mid-1960s, several database management systems being sold by companies like IBM addressed many of these needs.

There were two problems with these early systems: They caused problems with portability, and they tended to work better with static data structures. Because each vendor was selling a unique and proprietary database management system, applications had to be specially written to interface with each. If your application was written to interface with the IBM database, it could not easily be configured to work with a competitor's and vice versa. Moreover, the early databases worked on datasets that were implemented as "flat files." This meant that if you wanted to capture a different set of data from your application, modifications to the base data structure were difficult and time consuming. In many cases, significant sections of your application's source code would need to be rewritten to enable such modifications.

In the early 1970s, a paper written by E.F. Codd, an IBM researcher, fundamentally changed the history of how database systems would be implemented. Codd suggested that datasets be represented relationally by the database system. This meant that tables within a database could be linked together with various indexes to produce an underlying data structure that was much more dynamic and extensible than previously possible with the early flat-file systems.

IBM set out to design a system that incorporated many of Codd's visions , and this system came to be known as System-R. Completed in the mid-1970s, System-R also contained a new feature known as a structured query language (SQL). This new language provided two very radical concepts to the database world: (1) It was declarative, and (2) It was accepted by the American National Standards Institute (ANSI) to be a standard.

Before the advent of the SQL language, programmers needed to procedurally define how the data stored by the database would be accessed.With SQL, however, programmers could simply request what criteria needed to be present in the returned dataset, and the database engine would perform the work of actually translating that request into returned data. This removed an additional burden from programmers because it meant that the actual mechanics of data input and retrieval were abstracted from their control. As a result, a tremendous amount of work went into designing query planners that could perform these requests in the most efficient manner possible. Through this concentration of effort, databases achieved levels of efficiency and reliability that were outside the grasp of what any individual developer could have achieved independently.

Being declared an ANSI standard allowed competing products to be interfaced in the same way. Developers could now design their applications so that the code became much more portable. This meant that as database systems improved and as requirements changed, the application could be transferred to a new database system much easier than previously possible.

These two developments ”relational data structures and the SQL language ”are what formed the basis for the modern relational database management system (RDBMS). Consequently, RDBMS has developed into an entire industry unique to itself.

One of the early RDBMSs was called Ingres, and it included many of the features available in database systems at that time. A project was started in the early 1990s at the University of California at Berkeley to further these concepts; this project was dubbed Postgres as a play on words that implied after Ingres.

During the middle of that decade , the project, then known as Postgres95, was renamed to PostgreSQL and was released to the world at large as an open -sourced project. In the ensuing years , a tremendous amount of development was put into this project, which has resulted in an open-source and freely available feature-rich database system. The result is an RDBMS that rivals the features and performance typically only found in high-dollar commercial systems. This is a monumental achievement, and a great deal of admiration and respect should go to the countless developers who have contributed their time and efforts to this project.

In fact, PostgreSQL has advanced to such a degree that there is now much commercial interest in further supporting and developing PostgreSQL. Among the companies interested are Great Bridge and Red Hat, both of which have a deep commitment to open source and to PostgreSQL. With an active development community backed by serious commercial support, PostgreSQL is destined to be one of the shining stars of the open-source arena. PostgreSQL will undoubtedly be considered a success in the same manner as the Apache and Linux projects.

I l @ ve RuBoard


PostgreSQL Essential Reference
PostgreSQL Essential Reference
ISBN: 0735711216
EAN: 2147483647
Year: 2001
Pages: 118
Authors: Barry Stinson

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net