RSS
Логотип
Баннер в шапке 1
Баннер в шапке 2

Firebird (database server)

Product
Developers: Community Firebird
Last Release Date: 2015/04/01
Technology: DBMS

Content

Firebird (FirebirdSQL) is the compact, cross-platform, free database management system (DMS) working at Linux, Microsoft Windows and various as Unix platforms.

As advantages of Firebird it is possible to note the mnogoversionny architecture providing parallel processing of operational and analytical requests (it is possible because the reading users do not block writing), compactness (distribution kit 5Mb), high efficiency and strong language support for stored procedures and triggers.

Firebird is used in the different industrial systems (warehouse and economic, financial and state sectors) since 2001. It is commercially independent C and C project ++ programmers, technical advisers and developers of multiplatform database management systems, based on the source code issued by Borland corporation on July 25, 2000 in the form of the free version of Interbase 6.0.

Among shortcomings: lack of a cache of results of requests, full-text indexes.

History

Firebird is based on the source code InterBase 6.0 which was issued as Open Source by Borland company in August, 2000. The history Interbase begins in 1984, thus, the product is a successor more than 20letnego experience with relational databases.

Versions of the server

2003

Not supported versions

1.0 (the last release 1.0.3 of April, 2003)

The release of Firebird 1.0 is the first version (November, 2001) which is based on open source texts of InterBase 6.0. Therefore generally the release contains a large number of error corrections of IB 6.0.

  • Expanded checks of dependences (udf and generators)
  • Problems with file size DB more than 4 gigabytes are removed (except FAT16 and FAT32 where the file cannot be more than 2-4 gigabytes)
  • Support of page size DB the 16th kilobyte
  • ForcedWrites now ON by default during creation of a DB
  • Configuration setting for a task of arrangement of external files
  • The number of the external files opened at the same time is increased
  • The external file is closed if the foreign table is removed
  • The CPU_Affinity (Superserver) parameter is added
  • Possibility of the indication of port number in a line of connection
  • NONAGLE parameter for Linux
  • isc_info_database expansions
  • the record counter for gbak (at the indication of an option - v)
  • CURRENT_USER and CURRENT_ROLE variables
  • DROP GENERATOR command
  • possibility of grouping on UDF <function>(group by)
  • RECREATE PROCEDURE command
  • RECREATE TABLE command
  • options SELECT FIRST (<int>) SKIP (int)...
  • SUBSTRING function<str><pos> <length>(FROM [FOR])
  • the PLANONLY command for ISQL
  • new marker of comments-
  • ib_udf expansions (SUBSTR, SUBSTRLEN, ASCII_CHAR)
  • new feature set of FBUDF.DLL
  • by descriptor in the UDF parameters

2009

1.5 (1.5.6 of October, 2009, the last release of a branch of 1.5 (End of series))

Firebird 1.5 is released based on Firebird 1.0, with the translation of the code with C on C ++

  • The architecture of Classic for Windows is recovered
  • the embedded option is created
  • SQL - CASE, COALESCE, NULLIF is expanded
  • the name of base of security (security.fdb) and other modules - the client, the message file is changed
  • the new file of the firebird.conf configuration, with new parameters
  • varchar broadcast on network in a "compressed" type
  • triggers of multi-actions (insert or update or delete)
  • indexes on constraint PK, FK, Unique automatically accept the name constraint (if it is set)

indexes at the table can be up to 256 (there were no more than 64 earlier)

  • the improved error handling. Expanded error handling in procedures and triggers
  • the empty BEGIN/END block is allowed
  • new tables of characters
  • expansions in ISQL
  • new features in ib_udf and fbudf
  • improvements of the optimizer

The supported versions

2.0 (last release 2.0.6)

  • data transmission on network is accelerated
  • the local protocol is replaced with XNET
  • broadcast of access rights through NetBEUI is removed
  • new policy of garbage collection (see firebird.conf, GCPolicy)
  • Classic supports all Services API functions, SuperServer is identical
  • waiting limit parameter of blocking of WAIT
  • the accelerated search in lines and blob
  • corrections of the updated view
  • new shutdown DB modes
  • the DB new format - now one table can have the size more than 36 gigabytes
  • the DB new format - the indexed line can be 1/4 page sizes (to 4k at page size 16k)
  • considerable improvements of the optimizer
  • client extension of API
  • new built-in string functions (lower, trim)
  • incremental backup (nbackup)

2011

2.1 (last release 2.1.4 of 3/15/2011)

Among innovations it is necessary to select global triggers of the database, the general tabular expressions (CTE), temporary tables, a possibility of monitoring of the database through SQL, canceling of the hung-up requests, and also new SQL of the instruction.

2.5

Main objective Firebird 2.5 was to lay the foundation for multithreaded architecture of future versions. In this version at the heart of two Firebird Super Server and Firebird Classic models the general code performing low-level synchronization and thread safety lies.

New opportunities of SQL in Firebird 2.5

  • Management of users through SQL (CREATE USER/ALTER USER/DROP USER).
  • Modification of representations through instructions of ALTER VIEW and CREATE OR ALTER VIEW.
  • An opportunity to change calculated fields of ALTER COLUMN.
  • The SIMILAR TO operator allows to check regular expressions in a condition of WHERE, CHECK and in the operator * IF of the PSQL expansion.

Other changes in Firebird 2.5

  • Support of autonomous transactions in PSQL (stored procedures, triggers, EXECUTE BLOCK operator.
  • Accomplishment of heterogeneous requests through EXECUTE STATEMENT
  • VIEW on the basis of stored procedures
  • Timeouts of requests
  • The improved monitoring. MON$MEMORY_USAGE, etc.
  • Forced shutdown of the client through MON$STATEMENTS.
  • The new system role of RDB$ADMIN allows to transfer to SYSDBA the privileges to other user within the database.

2.5.1 (last release of 10/4/2011)

A year later after an exit of Firebird 2.5 DBMS the adjusting release of Firebird 2.5.1 is provided. Except error correction, several improvements are presented in the new version:

  • Performance of recovery of a DB (gbak restore) is considerably increased by stages of adding of data;
  • Support of record is added to global temporary tables for the bases which are in a read-only mode. Performance of global temporary tables and efficiency of a garbage collector is increased;
  • Support of the contextual SQLSTATE variable which can be used in WHEN blocks along with the GDSCODE and SQLCODE variables for diagnostics of errors is added to PSQL;
  • Functions of preeducation between BLOB are added to API.

2015

there Was an adjusting version of Firebird 2.5.4 DBMS

On April 1, 2015 it became known of an exit in open access of the adjusting release of relational Firebird 2.5.4 DBMS[1].

Firebird is distributed under the free license MPL and supports the ANSI SQL standards, including triggers and stored procedures.

In addition to error correction in the new version low-level integrity checking of disk structures of tables and indexes with preserving of availability of a DB to accomplishment of other transactions is added (in the online mode). The mechanism of early release of internal temporary blobs (blob) is implemented that helped to release an add-in memory and disk space.

3.0 (in development)

Architecture of the server

  • The classic the server (engl. ClassicServer) — one process on one connection; support of multiprocessor machines.
  • Superserver (engl. SuperServer) — all connections use one process, smaller memory requirements at bigger high-speed performance; for single-processor machines.
  • The superclassic (engl. SuperClassic Server) — one process, but the flow on each connection. This architecture is entered in version 2.5.
  • Built in (engl. Embedded) the version — all engine contains in one library with a name of client library of the server, is ideal for the single-user systems, does not require installation.

All architecture use the identical file format of the database, thus at any time it is possible to switch to other architecture.

Licensing

Firebird is issued under conditions of IPL (InterBase Public License) and IDPL (Initial Developer’s Public License) which match conditions of Mozilla Public License 1.1. Firebird is completely free for use and distribution (including commercial). Disclosure of the source code of your product is not required, regardless of the used licensing model. However, if you modified the source code of the server, it is necessary to make available the source code of your modifications.

Notes