Firebird Project HOME
Read this Factsheet in PORTUGUESE
Back to Novice's Guide
Firebird 1.5 is a full-featured SQL database engine. It is powerful, yet lightweight, with minimal configuration and
administration needs. It's easily scalable from single-user, single-database usage up to company-wide enterprise
purposes. A single Firebird server can handle multiple independent databases, each with multiple client
connections. And best of all: it's true Open Source, thus free of any license fees even for commercial use.
|
Key Features
|
|
- A.C.I.D. compliance: The concept of "Atomicity,
Consistency, Isolation and Durability" is what Firebird
is built for.
- 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.
- 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.
- Events: Stored Procedures and Triggers can fire
Events that can be monitored from a client on a
configurable TCP/IP port for "active databases".
- 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.
- 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.
|
- 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.
- 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.
- 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.
- 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.
- Declarative Cascading Referential Integrity:
Ensures consistency and validity of n-level deep
parent-child relationships between tables.
- Character Sets: Firebird implements many
international Character Sets including Unicode with a
variety of collations.
|
|
|
|
SQL Standard Compliance
|
Firebird has full SQL 92 Entry Level 1 Support and
implements most of the SQL-99 standard, plus some
very useful additions. This includes DML/DDL
statements, FULL/LEFT/RIGHT [OUTER] JOIN syntax,
UNION, DISTINCT clauses, subselects (IN, EXISTS),
internal functions (AVG, SUM, MIN, MAX, COALESCE,
CASE, ..), constraints (PRIMARY KEY, UNIQUE,
FOREIGN KEY), as well as all common SQL data types.
Firebird also implements Domain and Field level Check
Constraints, Views, Exceptions, Roles and a fine-
grained Grant management. See the Release Notes
and the Firebird Reference Guide for more details.
|
Hardware Requirements
|
Firebird runs on almost any hardware. Even "small"
hardware can do the job, esp. when used with Linux.
As with any RDBMS, there are the usual aspects that
influence performance: the amount of physical RAM
(as little as 16MB will do for a start); the speed of the
storage subsystem (like RAID systems) etc. Of course,
the recommended hardware depends on what you
want to do with the database, e.g. how large will it
become, how many concurrent users do you expect
andsoforth. You can start off with a minimal
configuration and then power up the server later on as
the need arises.
|
Available OS Platforms
|
The most commonly used OS platforms for Firebird
are Linux and Windows (incl. MS Terminal Servers and Citrix Mainframes).
Other supported platforms are
Mac OS X, Solaris and HP-UX.
Migration from one
platform to another is painless and possible at any
time: just backup a database on one OS using the
Transportable Format, then restore it on any other.
|
Connectivity
|
Firebird supports a number of connectivity methods,
including: native Component Packages for C/C++
and Delphi, ODBC, JDBC (JayBird), PHP Driver,
OLEDB driver, dbExpress, .Net data provider and
finally through direct API calls using fbclient.dll/.so.
|
Physical Limits
|
Firebird allows really huge databases. Databases can
span multiple files, the size of each file is OS-
dependant. The theoretical limit is currently 64TB for
a single-file database, so the practical limit is usually
the operating / file system or available HD space.
|
|
Server engine versions
|
There are three different versions of the engine, all
interchangeable and each with its own strengths:
- Classic Server (one instance per client connection;
SMP/HT support)
- SuperServer (all connections handled by one
module; currently no SMP/HT support)
- Embedded Version (the entire engine in a single
DLL / SO (!) for single-user, single-database use)
All versions use the same db file format, so you can
switch between all of them any time you like.
|
Licensing
|
Firebird is licensed under the IPL (InterBase Public
License) and the IDPL (Initial Developer's Public License) which have the same terms as the Mozilla
Public License 1.1. Firebird is completely free to
use and deploy to your customers. You don't need to
release the source code for your own product,
regardless of your licensing model. If you modify the
engine, however, you must provide public access to
the source code of your modifications.
|
Tools
|
A large number of tools are available for Firebird, some
free, some commercial. There are admin tools, tools
for developers, UDF libraries, Connectivity tools and
more (see the links section below).
|
Support and Resources
|
On www.firebirdsql.org, the home of Firebird,
there are many useful links about the project.
The company IBPhoenix offers various contracts for
professional support by people with long-term
experience. On their website
there is also a wealth of tech infos, how-tos and in-
depth documentation available.
|
Community
|
There is an ever growing community of Firebird users
and various newsgroups to supply instant online
support. On the project homepage there is a full list of
all newsgroups about Firebird (see below).
|
History
|
Firebird is based on the source code of InterBase 6.0
that was released as Open Source by Borland in
August 2000. The story of InterBase goes back as
far as 1984, so in total there are close to 20 years of
relational database experience in the product.
|
|
|
|
Firebird Links
|
Right-click to get this page as a PDF file
Download: Click here to find a Firebird package and DOWNLOAD.
Documentation: Detailed documentation links
Licences: The original InterBase Public License (IPL) and the Initial Developer's Public License that applies to new Firebird modules
Tools and Admin programs: See links on the community contributions pages
Community: A collection of newsgroups and email forums
|
|
One driving force behind the Firebird project is the FirebirdSQL Foundation. This
is an open group of individuals and companies sponsoring the development of
Firebird by means of collecting funds and giving grants to developers to help evolve
and continue the project.
The Foundation gladly accepts new members, either
corporate or private, as well as sponsors for the funding of the project.
Join the Foundation on http://www.firebirdsql.org/ffoundation/
|
|
|
� 2003, 2004 by The Firebird Project. All names of products and companies mentioned herein are trademarks of their respective owners.
Firebird Project HOME
Back to Novice's Guide
|
|