Firebird

Firebird is a fork of Interbase database, made in 2000 just a week after Interbase was open-sourced. First stable version of the new codebase was released in 2004, with migration from C to C++ being underway since 2000.

We support Firebird directly in our products! You don't need separate drivers and can immediately connect to your database.

Firebird has steadily improved over the years, but remains mostly used for local databases, less for remote connections. Firebird uses MVCC (multi-version concurrency control) it inherited from Interbase, avoiding conflicts in simultaneous transactions. Downside of MVCC is required periodic sweeping of the database.

Good thing is, being an open-source database, there are no limits in database size, memory usage and like. Free versions of heavy-weight databases (such as DB2, Oracle or SQL Server) are limited in resource usage not to compete with their commercial editions. Its inadequacy for remote work is even reflected in the fact that you need to know exact location on the database in the server’s filesystem when connecting to a remote server. Firebird can’t compete with databases designed for client/server workloads.

There are many reports on lack of reliability of Firebird servers, but less so in recent versions. However, release cycle is pretty long. Firebird can work with Interbase database files, however, its support is lagging behind the latest releases.

Firebird

data types we support

Integral
bigint (int64, quad)
int (integer, long)
smallint (short)
decimal
decimal (numeric)
double precision (double, real)
float
text
blob sub_type 1, char (character, text)
cstring
nchar (national char, national character)
nvarchar (national char varying, national character varying, nchar varying)
varchar (char varying, character varying, varying)
Binary
binary
varbinary
Date/Time
date
timestamp
time
Large objects
blob sub_type 0 (blob)
blob sub_type 1
Other
boolean