Sunday, November 19, 2006

Choosing the right Database Management System for your online Business (PostgreSQL)

PostgreSQL pronounced as "post-gress-Q-L”, is a powerful, open source relational database system which known for its reliability and data integrity, moreover PostgreSQL is considered to be the most advanced open source database system in the world. (1)

PostgreSQL has been developed in many forms since 1977 at the University of California at Berkeley, nevertheless its last version has been downloaded more than 1 million times since it’s released. (2)

Useful Features
PostgreSQL provides many features that are normally found in commercial databases such as DB2, SQL server or Oracle.
The following are some of these features: (3)

1.First of all PostgreSQL is free and distributed under the BSD license, which allows users the freedom to obtain the source code, use the program, and modify it freely.
2.Cross platform: PostgreSQL runs on all main operating systems, including Linux, UNIX (BSD, HP-UX, Mac OS X, Solaris), and Windows.
3.It is fully ACID compliant (Atomicity, Consistency, Isolation, and Durability); furthermore it has full support for foreign keys, joins, views, triggers, and stored procedures.
4.PostgreSQL includes the majority of data types, including (INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, and TIMESTAMP).
5.PostgreSQL supports storage of binary large objects, including pictures, sounds, and video. 6. PostgreSQL has a built-in language called PL/pgSQL which is similar to Oracle's procedural language PL/SQL.
7.PostgreSQL runs stored procedures in many programming languages, including Java, Perl, Python, Ruby, Tcl, C/C++, and its own PL/pgSQL, which is similar to Oracle's
8.PL/SQL.
9.Scripting languages are supported through PL/Perl, plPHP, PL/Python, PL/Ruby, PL/sh, and PL/Tcl.
10.PostgreSQL supports encrypted connections via SSL.
11.It supports international character sets and multibyte character encodings.
12.PostgreSQL is highly scalable both in the quantity of data that it can manage and in the number of users it can accommodate.

Maximum Database Size Unlimited
Maximum Table Size 32 TB
Maximum Row Size 1.6 TB
Maximum Field Size 1 GB
Maximum Rows per Table Unlimited
Maximum Columns per Table 250 – 1600 depending on column types
Maximum Indexes per Table Unlimited

PostgreSQL 8.1 which is the last release includes more than 120 new features and improvements. (4)

The following are some of these new features:

1. Supports IN, OUT and INOUT parameters, which considerably increase the support of complex business logic for J2EE and .NET applications.
2. Supports database roles, which makes the management of huge numbers of users with complex overlapping database rights straightforward.
3. Supports Two-Phase Commit which allows ACID-compliant transactions across separated servers.
4. Functions have been added for obtaining server information, furthermore performing basic DBA tasks from the PSQL command line.
5. COPY Refactoring which makes loading large databases into PostgreSQL 30% faster than before.
6. Improve the buffer manager to utilize up to two terabytes of RAM.

References:
(1) http://www.faqs.org/docs/ppbook/c208.htm
(2) http://www.internetnews.com/dev-news/article.php/3562576 http://www.postgresql.org/docs/faqs.FAQ.html
http://www.postgresql.org/about/
(3) http://en.wikipedia.org/wiki/PostgreSQL
(3) http://www.postgresql.org/docs/whatsnew

All the links were accessed in 19/3/06