Promoting Linux Requires Advertising. That's What Counts.
TM
Linux SQL Databases and Tools
All major and most minor databases are now available on Linux
(with the lone exception of MS-SQL). This is a sea-change compared
to summer of 1996, when this list was slim indeed, listing mSQL,
Postgres and a handful of others (Solid, Empress, Adabas).
But at the end of 1998 and start of 1999, all of the major commercial
DB vendors (IBM, Oracle, Informix, Ingres, Sybase) made their wares
available on Linux, and there has been no going back. It was around
that time that I lost interest in tracking new developments closely;
thus, while I do make occasional stabs at updating this page, you
may discover that it contains more link-rot than there should be.
This page is not a complete listing. Use the following cross-references
to form a more complete picture.
Hot!
If you like this page, then check out
Enterprise Linux (TM)
Open Source Databases
Even as Linux has garnered support by all of the major commercial
database vendors, the freely available open source databases have grown
in sophistication and features. Below follows a partial list of some
of the more popular of these.
Please Note, in addition to the listings below,
many of the commercial database vendors have free "personal
edition" or "single user" policies that allow their
products to be used free of charge at home or in non-commercial
applications. The goal of these policies to allow users to evaluate
their software free-of-charge, and to allow developers to port
their applications without making a large financial investment.
- SQLite Embeddable SQL Database Engine (New Listing!)
- SQLite Embeddable SQL Database
Engine is a C library that implements an entire SQL server.
This allows application programmers to embed an SQL server
directly into thier application. Note that this is not a client
library, and it cannot be used to contact an SQL server.
- Implements most of the SQL 92 dialect.
- Small footprint; 25K lines of code.
- Sources in the public domain; no license.
- McKoi SQL Database
- The McKoi SQL Database
is written entirely in Java. Supports transactions, referential
integrity, triggers, indexes, Java-specific enhancements. Supports
multi-threaded, multi-client operation; embedable. Released under
the GPL license. This is probably the most advanced open-source
pure-Java database out there.
- SAP DB
- The SAP DB is the liberation,
under the GPL/LGPL license, of the SAP AG database. This is a
major enterprise-class database.
- HypersonicSQL
- hsql is a small,
(100KB) fast, embeddable relational DB written entirely in Java.
Supports only a subset of the SQL standard. A 'stable' version
now available. Modified BSD license.
- PostgreSQL
- PostgreSQL
is a powerful and complete SQL implementation that rivals
commercial databases such as Oracle. This database (along
with MySQL) is the leading GPL'ed database system for the
GNU/Linux & BSD platforms. Commercial support is available
from a company formed by the leading Postgres developers.
- Fully Transactional, with full ACID (Atomicity, Consistency,
Isolation and Durability) properties. Seven different
levels of locking for consistent queries and updates.
- Tremendous performance improvements in Version 7.0
- Support for Triggers
- Support for user defined data types.
- Support for stored procedures. These can be defined in
a variety of ways, including an internal language, or very
generally as a shared library, written in any language,
linked into the Postgres server.
- On-Line Backups
- Multiple index type (b-tree, hash, etc.)
- Commercial ODBC drivers from
OpenLink
- Non-commercial
ODBC drivers
- The
Postgres HOWTO
provides an extensive reference for a large number of
Postgres facts and tools.
- MySQL
- MySQL from MySQL AB
is, with Postgres, one of the most popular GPL'ed databases
for the GNU/Linux and BSD platforms.
- Commercial sales, support and training is available from
NuSphere.
They also do contract programming and infrastructure
enhancements and feature additions for MySQL.
- Commercial support from
AbriaSoft.
- Rudimentary support for table locking recently added.
- Complex but powerful user access control mechanism.
- Multi-threaded for parallel queries
- Includes ODBC, Perl, C, Java, Tcl, Python API's
- InterBase
- The InterBase SQL server
from InterBase Corp.
is the well-known InterBase database released under an open source (MPL)
license.
In case you are
wondering why you haven't heard of InterBase before, note that
they were recently spun off from
Inprise, which is, of course,
the new name for Borland.
- CQL++
- Machine Independent Software
offers the
CQL++ DBMS. Originally developed originally as a full-featured
commercial software product, it is currently available under several
licenses, including the GNU GPL. (The free version is under GPL,
non-free, non-GPL versions are available at reasonable cost.)
The feature list mentions the following:
- Transaction support, including commit, rollback, nested
transactions, logging, failure recovery.
- ANSI 1989 Level 2 SQL and ODBC Level 1 API support
- ISAM or B-tree access
- Unlimited number of cursors
- BLOB (Binary Large Object) Support
- Optimistic concurrency control with shared read locks.
- Preprocessor for embedding SQL in C++
- Gadfly
- Gadfly is a small,
portable database system written entirely in python and specifically
intended for python programmers. Database files are portable from
Win95 to Linux. Source code freely available, and is commercially
supported by
Chordate Systems.
- GigaBASE and FastDB
- GigaBASE
(US Mirror)
and
FastDB
(US Mirror)
are memory & file-based databases with an SQL-like query language.
Because they compile into an application, they avoid most of the DB
management problems of client-server. BSD-like license.
- GNU SQL
- GNU SQL from Russia
... project development seems to have stalled in 1998.
Commercial SQL Databases
There are a large number of database vendors that support Linux.
It is difficult to review these accurately in a small space,
yet, based on some highly subjective criteria, I've attempted
just that. As you shop for a database, you should make your
own list of the features and functions that you believe are
important for your application. Remember that the "best"
database is not necessarily the one with the greatest number
of features, or the lowest price. For your needs, it may be raw
performance for small queries, or it may be ease of
administration of a database with tens of millions of records.
Remember that whichever database you choose, you will be living with
it for many years.
This section (of commercial databases)
is no longer actively maintained. After all of the 'big boys' announced
availability on Linux in 1998, so did everyone else, and it has
become impossible/impractical to attempt to list all of the commercial
databases available for Linux.
- MimerSQL
- Mimer SQL
is unique in that it focuses on providing a small-footprint
database suitable for embedding into applications. Drivers for
ODBC, JDBC, ESQL API's. Runs on most Unix's, as well as
Windows and OpenVMS.
- Cache
- Cache
is a
"multi-dimensional data engine", based on ANSI MUMPS,
and thus popular in the medical world. Includes a SQL interfaces,
ODBC drivers and an Apache web module.
- DBMaker
- DBMaker
is a full-fledged commercial database. A sample of the features
include:
- Two-phase commit transactions
- Triggers, stored procedures, user defined functions.
- BLOB's, full-text search engine
- Foreign Keys
- online full and incremental backup, journaling.
- privilege management on table columns, stored procedures.
- OLTP
- IBM DB2
- IBM
has
announced
availability and support for the
DB2 for Linux
database.
The DB2
Universal Database is the flagship database: it boasts a long track
record of large installations and rich & powerful features.
Interesting twists include:
- Ingres
- Computer Associates
has
announced the availability of its
Ingres II database on Linux in 4Q98. It is currently available
for beta testing.
- Oracle
- Oracle has
announced that it will be
making available its Oracle 8 and 8.1
database products on Linux in 1Q99.
A trial version is currently
available for download.
- Informix
- Informix, now a division of
IBM, has been offering a variety of
its products on the Linux operating system for years.
In particular, the SE Standard Engine database, ESQL/C and
Connect are available on Linux as
supported products.
Free evaluation versions are available.
Informix-SE is a high-quality, powerful and feature-rich SQL
database aimed at folks looking for a low-maintenance,
easy-to-administer database.
- Sybase
- Sybase is now offering
Adaptive Server Enterprise (ASE) in the form of a
free, unsupported release for Linux, for both development
and deployment. Besides a raft of flagship-product capabilities,
Sybase currently holds the world TPM/C speed record on a non-clustered
SMP box.
Sybase also offers the OpenClient/C libraries in free, unsupported form.
These libraries allow Linux clients to connect to Sybase server products.
They are available in
There are various Open Source tools for Sybase:
- The Sybperl
Sybase OpenClient extensions to Perl.
- The SQSH
SQL Shell for Unix provides a powerful interface for Sybase
databases.
-
Sybase FAQ
- The
Web/Genera web-to-Sybase interface.
- SOLID
- The SOLID SQL Server is available from
Solid Information Technology Ltd. These folks are interesting
to look at for a number of reasons: they offer a free evaluation copy,
they claim support on Linux SMP, and they provide clients for
non-Linux systems that can talk to Linux servers.
Taking the enterprise computing viewpoint, Solid is
particularly interesting because it provides a number of
the features required in an industrial strength database.
I've abstracted a sampling of these from their
FAQ
and
server technology overview, but probably don't do it justice:
- Online Backups, allowing a consistent snapshot of
the database to be taken without taking the server off-line.
- Recovery to last committed transaction after power failure,
using a fast roll-forward from the last checkpoint.
- Role privileges: users can be given password-protected
privileges to delete, insert, update and/or select.
- Query Optimization, with ability to audit optimization statistics.
- BLOb support (Binary Large Objects)
- Versioning and pessimistic and optimistic concurrency control,
including SHARED, INTENT and EXCLUSIVE locking.
New: The Free Linux
SOLID Desktop Campaign is promoting a two-connection version of
the server.
- Empress
- Empress provides the
EmpSQL
database as well as a variety of add-on products, including
Motif-based clients. Some EmpSQL features that caught my eye:
- Transaction Check-pointing and Rollback
- Two-Phase Commit
- BLOb support (Binary Large Objects)
- "Host Language" C bindings that sidestep
the performance overhead introduced by SQL parsers.
- Foreign Key support for referential integrity
- Adabas D
-
Adabas D from
Software AG can be obtained from
Caldera,
S.u.S.E GmbH and
S.u.S.E LLC; S.u.S.E.
offer support contracts.
The
feature list rattles off the following:
- Multi-threaded, Multi-server
- Disk mirroring for fault tolerance
- Synchronized Replicas
- Multiple SQL Dialects, incl. ANSI, Oracle, DB2
- BLOBs
- Optimistic Locking
A Menu-driven database administration tool supports:
- Wide variety of performance statistics
- Tracing, Logging Backup
- Velocis Database Server
- Raima's
Velocis Database Server
is a client/server SQL database engine that is built into thousands
of commercial applications. It offers multiple API's, including an
ANSI SQL C-API, a low-level C-API, C++ class libraries, and a custom
API through Server Extensions. Velocis supports the relational
database model and the pointer-based network database model,
but for flexibility and performance, developers can combine these two
database models. The Server Extension feature allows application
code to be hosted directly on the database server, reducing network
traffic.
- mSQL
- The MiniSQL
database from
Hughes Technologies
provides a simple,
fast database that supports a subset of SQL. This is a popular,
solid, widely used database and is superb for basic
database applications. It comes with an extensive set of
freeware tools, language bindings (e.g. Java, Perl, Tcl/tk), monitors,
web interfaces, ODBC, JDBC bindings. It is packaged as shareware,
and the current version comes in source code form.
Its principal drawback is
its lack of support for the industrial strength features such
as transaction support and multi-tasking.
- Kubl
- The Kubl Home Page
describes a "High Performance, Compact DBMS Server [and] Replication
Server [with] ODBC Client API, SQL [and] Stored Procedures [support]"
It runs on NT and most Unix's.
- Replication / Hot Sparing / Online Backups
- Automatic Checkpoints / Recovery to last committed transaction
- Role privileges for different users
- Multi-threaded, makes use of SMP
- SAG/CLI C Language interfaces for Unix
- BLOB support
- non-locking historical read-only
- pessimistic exclusive/non-exclusive concurrency controls
- OO features, such as table inheritance, row id's,
variable length vector data in columns, dynamically
bound data types, etc.
- "Kubl/PL", an internal programming (stored procedure)
language.
- ODBC driver for Windows NT
The Linux pricing for this is
*very* *sweet*, just a small fraction of the price for other OS/s.
- News:
The NT port of Kubl is as fast as the Unix versions, and it
outperforms MS SQL. Does this imply that Linux/Kubl outperforms
MS SQL? I dunno ... but the implication is there.
- YARD-SQL
- YARD Software GmbH
offers
YARD-SQL. This appears to be a high-end package,
with a large variety of features; among them an X11/Motif
interface. Some randomly selected features:
- X11/Motif interfaces
- ODBC support
- NLS National Language Support
- Query Optimizer
- Integrity constraints
- Stored procedures, Triggers
- JustLogic
- The SQL Relational Database System
from JustLogic Technologies.
Their
feature list should
be consulted for details; some features that caught my eye are:
- Transaction Support (Two Phase Commit)
- Automatic rollback after hardware/software/power failure.
- Cost-Based Optimizer
- FrontBase
- Frontbase
has
many supported features.
- DBIX
- Halcyon Software is known for its
Windows-Unix cross platform tools. It offers the
DBIX SQL database.
Some salient features:
- Data Recovery
- Transaction Logging
- Full ANSI SQL compliance
- ODBC Interfaces
- Visual Basic (VBIX) interoperability
- LNX-DBMS
- LNX-DBMS
SQL-Datenbank-Server für Linux/Unix Version 4
ist ein relationales Datenbankmanagmentsystem.
LNX wurde als Client/Server Datenbank entworfen
(ODBC-Interface), um Ihnen einen sehr vielseitigen Zugriff auf Daten,
kombiniert mit der bequemen Handhabung von MS-Windows, zu
ermöglichen.
- SQLFlex
- The SQLFlex
database from InfoFlex.
- ANSI SQL
- Row level locking
- Informix-ESQL/C and Informix SE API and database compatible
- Unlimited users per runtime
- Runs on Linux, other Unix's, Windows NT
- Source Code avail for approx $15,000
InfoFlex also markets an Informix-look-alike 4GL, a report writer,
and a general ledger accounting system.
- Texis
- The Texis
database from Thunderstone
Specializes in support for natural language text, images, video
and audio.
A very professional web site ... I really enjoyed the demo pages.
- Linter
- The
Linter SQL Server from Relex-US Ltd.
Demo versions can be downloaded from the
News page.
RelexUS provides commercial support in the US for this Russian
product.
Documentation, Other Notes
History
Last Updated June 2003 by Linas Vepstas
[email protected]
Copyright (c) 1996-2003 Linas Vepstas.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1;
with no Invariant Sections, with no Front-Cover Texts, and with no
Back-Cover Texts. A copy of the license is included at the URL
http://www.linas.org/fdl.html,
the web page titled
"GNU Free Documentation License".
All trademarks belong to their respective owners.
Go Back to the Enterprise Linux(TM) Page
Go Back to the Linas' Home Page