|
About the
Technology
HIATLANTIS is
being released in a community edition and will be available with
PostgresSQL. PostgresSQL is a database tool that is available to
end-users freely and is the most advanced database tool available
today in open source. It is fully ACID compliant, has full support
for foreign keys, joins, views, triggers, and stored procedures
(in multiple languages). It includes most SQL92 and SQL99 data types,
including INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL,
and TIMESTAMP. It also supports storage of binary large objects,
including pictures, sounds, or video. It has native programming
interfaces for C/C++, Java, .Net, Perl, Python, Ruby, Tcl, ODBC,
among others, and exceptional documentation.
It is an enterprise
class database, PostgreSQL boasts sophisticated features such as
Multi-Version Concurrency Control (MVCC), point in time recovery,
tablespaces, asynchronous replication, nested transactions (savepoints),
online/hot backups, a sophisticated query planner/optimizer, and
write ahead logging for fault tolerance. It supports international
character sets, multibyte character encodings, Unicode, and it is
locale-aware for sorting, case-sensitivity, and formatting. It is
highly scalable both in the sheer quantity of data it can manage
and in the number of concurrent users it can accommodate. There
are active PostgreSQL systems in production environments that manage
in excess of 4 terabytes of data. Some general PostgreSQL limits
are included in the table below.
Featureful
and Standards Compliant
PostgreSQL prides
itself in standards compliance. Its SQL implementation strongly
conforms to the ANSI-SQL 92/99 standards. It has full support for
subqueries (including subselects in the FROM clause), read-committed
and serializable transaction isolation levels. And while PostgreSQL
has a fully relational system catalog which itself supports multiple
schemas per database, its catalog is also accessible through the
Information Schema as defined in the SQL standard.
Data integrity
features include (compound) primary keys, foreign keys with restricting
and cascading updates/deletes, check constraints, unique constraints,
and not null constraints.
It also has
a host of extensions and advanced features. Among the conveniences
are auto-increment columns through sequences, and LIMIT/OFFSET allowing
the return of partial result sets. PostgreSQL supports compound,
unique, partial, and functional indexes which can use any of its
B-tree, R-tree, hash, or GiST storage methods.
Highly Customizable
PostgreSQL runs
stored procedures in more than a dozen programming languages, including
Java, Perl, Python, Ruby, Tcl, C/C++, and its own PL/pgSQL, which
is similar to Oracle's PL/SQL. Included with its standard function
library are hundreds of built-in functions that range from basic
math and string operations to cryptography and Oracle compatibility.
Triggers and stored procedures can be written in C and loaded into
the database as a library, allowing great flexibility in extending
its capabilities. Similarly, PostgreSQL includes a framework that
allows developers to define and create their own custom data types
along with supporting functions and operators that define their
behavior. As a result, a host of advanced data types have been created
that range from geometric and spatial primitives to network addresses
to even ISBN/ISSN (International Standard Book Number/International
Standard Serial Number) data types, all of which can be optionally
added to the system.
Just as there
are many procedure languages supported by PostgreSQL, there are
also many library interfaces as well, allowing various languages
both compiled and interpreted to interface with PostgreSQL. There
are interfaces for Java (JDBC), ODBC, Perl, Python, Ruby, C, C++,
PHP, Lisp, Scheme, and Qt just to name a few.
Best of all,
PostgreSQL's source code is available under the most liberal open
source license: the BSD license. This license gives you the freedom
to use, modify and distribute PostgreSQL in any form you like, open
or closed source. Any modifications, enhancements, or changes you
make are yours to do with as you please. As such, PostgreSQL is
not only a powerful database system capable of running the enterprise,
it is a development platform upon which to develop in-house, web,
or commercial software products that require a capable RDBMS.
|