Thursday, January 24, 2013

Background of PostgreSql Database

Given its powerful and advanced features, you may wonder how such a valuable piece of software
came to be both free and open source.  As with many other key open source projects, the answer
starts at the University of California at Berkeley (UCB).

PostgreSQL, originally called Postgres, was created at UCB by a computer science professor named
Michael Stonebraker, who went on to become the CTO of Informix Corporation. Stonebraker started
Postgres in 1986 as a followup project to its predecessor, Ingres, now owned by Computer Associates.
The name Postgres thus plays off of its predecessor (as in "after Ingres"). Ingres, developed from
1977 to 1985, had been an exercise in creating a database system according to classic RDBMS theory.
Postgres, developed between 1986-1994, was a project meant to break new ground in database concepts
such as exploration of "object relational" technologies.

Stonebraker and his graduate students actively developed Postgres for eight years. During that time,
Postgres introduced rules, procedures, time travel, extensible types with indices and object-relational
concepts. Postgres was later commercialized to become Illustra which was later bought by Informix and
integrated into its Universal Server. Informix was purchased by IBM in 2001 for one billion dollars.

In 1995, two Ph.D. students from Stonebraker's lab, Andrew Yu and Jolly Chen, replaced Postgres' POSTQUEL
query language with an extended subset of SQL. They renamed the system to Postgres95.

In 1996, Postgres95 departed from academia and started a new life in the open source world when a group of
dedicated developers outside of Berkeley saw the promise of the system, and devoted themselves to its continued
development. Contributing enormous amounts of time, skill, labor, and technical expertise, this global
development group radically transformed Postgres. Over the next eight years, they brought consistency and
uniformity to the code base, created detailed regression tests for quality assurance, set up mailing lists
for bug reports, fixed innumerable bugs, added incredible new features, and rounded out the system by filling
various gaps such as documentation for developers and users.

The fruition of their labor was a new database that garnered a reputation for rock solid stability. With the
start of its new life in the open source world, with many new features and enhancements, the database system took
 its current name: PostgreSQL. ("Postgres" is still used as an easy-to-pronounce nick-name.)

PostgreSQL began at version 6.0, giving credit to its many years of prior development. With the help of hundreds
of developers from around the world, the system was changed and improved in almost every area. Over the next four
years (versions 6.0 - 7.0), major improvements and new features were made such as:

·         Multiversion Concurrency Control (MVCC). Table-level locking was replaced with a sophisticated multiversion
concurrency control system, which allows readers to continue reading consistent data during writer activity and enables
 online (hot) backups while the database is running.

·         Important SQL features. Many SQL enhancements were made including subselects, defaults, constraints,
primary keys, foreign keys, quoted identifiers, literal string type coercion, type casting, and binary and hexadecimal
integer input among others.

·         Improved built-in types. New native types were added including a wide-range of date/time types and additional
geometric types.

·         Speed. Major speed and performance increases in the order of 20-40% were made, and backend start-up time was
decreased by 80%.

The four years following (versions 7.0 to 7.4) brought the Write-Ahead Log (WAL), SQL schemas, prepared queries, outer joins,
complex queries, SQL92 join syntax, TOAST, IPv6 support, SQL-standard information schema, full-text indexing, auto-vacuum,
Perl/Python/TCL procedural languages, improved SSL support, an optimizer overhaul, database statistics information, added security,
table functions, and logging enhancements and significant speed improvements, among other things. A small measure of PostgreSQL's
intensive development is reflected in its release notes.

Today, PostgreSQL's user base is larger than ever and includes a sizeable group of large corporations who use it in demanding environments.
Some of these companies such as Afilias and Fujitsu have made significant contributions to PostgreSQL's development. And, true to its roots,
it continues to improve in both sophistication and performance, now more than ever. Version 8.0 is PostgreSQL's long awaited debut into the
enterprise database market, bringing features such as tablespaces, Java stored procedures, point in time recovery, and nested transactions
(savepoints). With it came a long awaited feature --- a native Windows port.

Many organizations, government agencies and companies use PostgreSQL. You will find installations in ADP, CISCO, NTT Data, NOAA,
Research In Motion, The US Forestry Service and The American Chemical Society. Today, it's rare to find a large corporation or
government agency which isn't using PostgreSQL in at least one department.

No comments:

Post a Comment