Firebird (database server)

Firebird is a free server program and part of a system for the operation of databases ( DBMS). It is the free spin-off of further commercially Embarcadero (formerly CodeGear, Borland ) distributed relational database management system InterBase. The removal took place in 2000, when shortly before release of version 6 of the commercial predecessor InterBase Borland serious considerations were in progress, stop development.

For InterBase Firebird 6.0 was 1.0, and this can be regarded as a bugfix version with a few extensions. An extension of Firebird 1.0 is the 64-bit file I / O, so that database files greater than 2 GB in size can be produced.

Basic extensions done in Firebird 2.0 branch. The entire source code for InterBase was translated from the language C to C . As of February 2004, the first production version was from the Firebird 2.0 branch as Firebird 1.5 is available. In November 2006 Firebird 2.0 was released in October 2011, Version 2.5.1. In March 2013, Version 2.5.2 Security Update 1 has been released, it contains only small improvements and bug fixes.

Version 3.0 was released in an alpha release on 23 July 2013. The main objectives of this version are the unification of the server architecture as well as improving support for symmetric multiprocessing (SMP) systems and multicore processors.

Basically, the Firebird server is SQL-92 entry-level 1 compliant. Firebird 1.5 follows the SQL standard ANSI SQL - 99th Firebird 2.0 is mostly compliant with SQL 2003 ( 17 mandatory skills are missing altogether, especially schemes; 9 mandatory skills are only partially supported).

Available versions of Firebird database server program

The Firebird database is available in three versions with different features. There are the super server, Classic Server and Embedded server solutions. Not all variants are available for all platforms.

32 - and 64- bit support

Since version 2.1.1 (September 2008) are available for Solaris, and since version 2.1.3 September 2009 for Windows and Linux separate 32 - and 64 -bit available versions. The FreeBSD and AIX releases are still on the 32- bit version at 1.5, Firebird for HP- UX is also only appeared in a 32- bit version 2.0.3.

Administration of Firebird database systems

For productive 24 -hour operation the supplied backup program allowed ( gbak ) online backups without having to shut down a database. With the current version 2.0 are now incremental backups possible ( nbackup ). To get access to a Firebird server, the default port 3050 must be accessible for TCP and UDP requests.

Driver for the Firebird database server

Apart from the actual database server there are now drivers and libraries for Delphi, Free Pascal, Perl, Python, ODBC,. NET, PHP, Qt, C and Java ( as Type 2 and Type 4 JDBC driver ) to access the Firebird database.

Support can be either free of charge from the community or commercial deals.

Capabilities of Firebird

The Firebird database dominates Stored Procedures with Oracle PL / SQL like language. Queries can also be stored as well as rich changes. Cascading trigger for all DML commands and referential integrity of foreign keys are also available. All transactions are fully ACID compliant ( Atomicity, Consistency, Isolation and Durability ), and support savepoints ( savepoints ).

The server can handle different SQL dialects that can be set individually for each database. Depending on the dialects, for example, identifying name arbitrary strings of all blanks ( quoted identifier ) or name, case insensitive ( case insensitive identifier) ​​. With the different dialects and data applications can be advantageous to migrate from legacy applications.

Each individual column of a table can have its own character set and collation have its own (for example, regardless of case). The system supports a large number of predefined 8- bit encodings and some Unicode variants. Additional character sets and collations can be implemented without the need to change something in the Firebird program source code or the compiled program code.

The server environment can send messages from triggers and stored procedures in applications, as far as is practicable in the drivers. For example, the latest version of Java JDBC driver (name: Jaybird, version 2.2.4, as of December 7, 2013) receive such messages. For an application, it is thus possible to respond to triggered changes to the database directly and to give a user appropriate instructions.

Using UDFs ( User Defined Functions ), the language range of value- processing functions are extended. However, appropriate platform-specific libraries must be created and integrated. In an experimental stage are embedded functions, the like stored procedures should behave, but can be developed in any programming language. Thus, there is currently an experimental Firebird version of the Java methods can embed a server running in the Java Virtual Machine.

Firebird has an event system by which messages can be sent to clients; they are triggered by trigger or procedures.

For databases exclusive read access can be agreed to and after storage on archival media (eg CD -ROM, DVD) to allow direct access to the data it contains. A single database file can be up to 64 terabytes in size. A database can consist of several database files. Thus, even very large databases can be created on file systems, for example no files allow larger than 2 GB, for example, FAT 16

Using third party software may be extended by Firebird replication services.