LEADING OPEN SOURCE RELATIONAL MODEL DATABASES
PostgreSQL is a powerful, open source relational database system. It has more than 15 years of active development and a proven architecture that has earned it a strong reputation for reliability, data integrity, and correctness. It runs on all major operating systems, including Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64), and Windows. 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, Perl, Python, Ruby, Tcl, ODBC, among others, and exceptional documentation.
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 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.
SQLite is a small C library that implements a self-contained, embeddable, zero-configuration SQL database engine. Features include:
– Transactions are atomic, consistent, isolated, and durable (ACID) even after system crashes and power failures.
– Zero-configuration – no setup or administration needed.
– Implements most of SQL92. (Features not supported)
– A complete database is stored in a single disk file.
– Database files can be freely shared between machines with different byte orders.
– Supports databases up to 2 terabytes (241 bytes) in size.
– Sizes of strings and BLOBs limited only by available memory.
– Small code footprint: less than 250KiB fully configured or less than 150KiB with optional features omitted.
– Faster than popular client/server database engines for most common operations.
– Simple, easy to use API.
– TCL bindings included. Bindings for many other languages available separately.
– Well-commented source code with over 95% test coverage.
– Self-contained: no external dependencies.
– Sources are in the public domain. Use for any purpose.
The SQLite distribution comes with a standalone command-line access program (sqlite) that can be used to administer an SQLite database and which serves as an example of how to use the SQLite library.
Created by DBMS R&D pioneer, Mike Stonebraker, VoltDB is a next-generation open-source DBMS that scales way beyond traditional databases, without sacrificing SQL or ACID for transactional data integrity. VoltDB is for database applications that support fast-growing transactional workloads and require:
– Orders of magnitude better performance than conventional DBMS
– Linear scalability
– SQL as the DBMS interface
– ACID transactions to ensure data consistency and integrity
– High availability 24x7x365
MariaDB is based on MySQL and is available under the terms of the GPL v2 license. It’s developed by the MariaDB community with Monty Program Ab as its main steward.
MariaDB is kept up to date with the latest MySQL release from the same branch. In most respects MariaDB will work exactly as MySQL: all commands, interfaces, libraries and APIs that exist in MySQL also exist in MariaDB. There is no need to convert databases to switch to MariaDB. MariaDB is a true drop in replacement of MySQL! Additionally, MariaDB has a lot of nice new features that you can take advantage of.
Postgres-XC is an open source project to provide a write-scalable, synchronous multi-master, transparent PostgreSQL cluster solution. It is a collection if tightly coupled database components which can be installed in more than one hardware or virtual machines.
Write-scalable means Postgres-XC can be configured with as many database servers as you want and handle many more writes (updating SQL statements) compared to what a single database server can not do.
OTHER OPEN SOURCE RELATIONAL MODEL DATABASES
Berkeley DB is a database engine that provides developers with fast, reliable, local persistence with zero administration. Berkeley DB is a library that links directly into your application. Your application makes simple function calls, rather than sending messages to a remote server, eliminating the performance penalty of client-server architectures. Berkeley DB stores data in application native format, as simple key/value pairs, eliminating the need for translation or mapping. Berkeley DB eliminates the overhead of SQL query processing, enabling applications with predictable access patterns to run faster.
Firebird is a relational database offering many ANSI SQL-92 features that runs on Linux, Windows, and a variety of Unix platforms. Firebird offers excellent concurrency, high performance, and powerful language support for stored procedures and triggers. It has been used in production systems, under a variety of names since 1981.
Firebird is a commercially independent project of C and C++ programmers, technical advisors and supporters developing and enhancing a multi-platform relational database management system based on the source code released by Inprise Corp (now known as Borland Software Corp) under the InterBase Public License v.1.0 on 25 July, 2000.
Apache Derby is an open source relational database implemented entirely in Java. It has a small footprint that makes it easy to embed in any Java-based application, but it also supports the more familiar client/server mode. It is based on the Java, JDBC, and SQL standards, making code developed more portable to standards-compliant databases.
EnterpriseDB is an enterprise-class relational database management system (RDBMS) that is built on PostgreSQL, the world’s most advanced open source database. EnterpriseDB is compatible with Oracle applications, reliable and scalable for high-volume, mission-critical enterprise use, and affordable.
EnterpriseDB Advanced Server is a complete product suite that includes the following components:
* Database Server – The RDBMS engine
* Replication Server – Asynchronous master-slave replication
* DBA Management Server – Monitoring, performance profiling, and reporting
* Developer Studio – Graphical console for developers and DBAs
* Procedural Language Debugger – Interactive debugger for stored procedures
* Client Connectors – Access from various programming environments
* Oracle Migration Toolkit – Transfer schemas, logic, and data to EnterpriseDB
* Reporting Tools – JasperReports engine and graphical report designer
Drizzle is a community-driven open source project that is forked from the popular MySQL database.
The Drizzle team has removed non-essential code, re-factored the remaining code into a plugin-based
architecture and modernized the code base moving to C++.
H-Store is an experimental main-memory, parallel database management system that is optimized for OLTP applications. It is a highly distributed, row-store-based relational database that runs on a cluster on shared-nothing, main memory executor nodes.
The H-Store project is a collaboration between MIT, Brown University, Yale University, and HP Labs.
MySQL Cluster is a write-scalable, real-time, ACID-compliant transactional database, combining 99.999% availability with the low TCO of open source. Designed around a distributed, multi-master architecture with no single point of failure, MySQL Cluster scales horizontally on commodity hardware with auto-sharding to serve read and write intensive workloads, accessed via SQL and NoSQL interfaces.
HSQLDB (HyperSQL DataBase) is the leading SQL relational database engine written in Java. It offers a small, fast multithreaded and transactional database engine with in-memory and disk-based tables and supports embedded and server modes. It includes a powerful command line SQL tool and simple GUI query tools.