dbTuning: FirebirdKeyFeatures

Created by: Lester Caine, Last modification: 26 May 2005 (18:32 UTC)
  1. A.C.I.D. compliance: The concept of "Atomicity, Consistency, Isolation and Durability" is what Firebird is built for.
  2. MGA: A special feature of Firebird is it's "Multi- Generational Architecture", that allows the engine to handle various versions of the same physical record at any time, so any transaction can have it's own version regardless of other concurrent transactions ("readers don't block writers and writers don't block readers"). This ensures OLTP as well as OLAP operation.
  3. Stored Procedures: Using Firebird's PSQL (Procedural SQL), one can easily create powerful Stored Procedures for processing data entirely on the server side. A special flavour are "selectable Stored Procedures" that can calculate data row by row in the server and can be used like a View or a "virtual table" from the client side, which is especially useful for reporting tasks.
  4. Events: Stored Procedures and Triggers can fire Events that can be monitored from a client on a configurable TCP/IP port for "active databases".
  5. Generators: The concept of Generators (a.k.a. Sequences) allows the easy implementation of "AutoInc" columns, but goes far beyond that. Generators are non-volatile Int64 counters that are independant of transactions and can be used in many ways.
  6. Read-Only databases: For distribution of databases on e.g. a CD-ROM. Esp. when used in combination with the Embedded version of the engine, this gives unbeatable ease of deployment.
  7. Full transaction control: A single client application can have multiple, concurrent transactions. The various available isolation levels can be fully controlled by the client on a per- transaction basis. The Two-Phase-Commit protocol allows guaranteed consistency across databases. Optimistic locking is also supported as well as multiple Transaction Savepoints.
  8. Online Backups: There is no need to shut down a database to back it up. A backup process takes a snapshot of the state of the database at the moment it starts, so users can continue working while a backup runs, allowing 24x7 operation.
  9. Triggers: Each table can have many separate row- level triggers that fire Before or After Inserts, Updates or Deletes. Inside a trigger, the full wealth of PSQL can be used to apply default values, ensure data integrity, raise Exceptions etc. New in Firebird 1.5 are "universal triggers": Here you can have one single trigger to handle Inserts, Updates and/or Deletes in a table all at once.
  10. External Functions: User Defined Function libraries (UDFs) can be written in languages like C, C++ or Delphi and can easily be plugged in to the engine itself via DLLs / SOs, enabling you to extend the functionality of Firebird "inside" the server.
  11. Declarative Cascading Referential Integrity: Ensures consistency and validity of n-level deep parent-child relationships between tables.
  12. Character Sets: Firebird implements many international Character Sets including Unicode with a variety of collations.