Firebird is a relational database which will offer you many ANSI SQL ordinary features that runs on Windows, Linux and a variety of Unix systems.
Firebird offers excellent concurrency, high performance, and powerful language support for stored procedures and triggers. Firebird has been used in production systems, under a variety of names since 1981.
FREE LIKE A BIRD. Anyone can build a custom version of Firebird, as long as the modifications are made available, under the same IDPL licensing, for others to use and build on.
First you need to choose a Firebird server architecture. There are two models: the classic and the super server architecture. The super server is the main architecture for Microsoft win32 platforms (classic architecture is available on Win32 only from v1.5 onward). Unix style environments often have a choice of both the classic or super architecture.
If you are unsure start with the classic architecture which is a little easier to experiment with and to learn the basics. Then once you know more you will be able to determine which architecture is best for your installation. From a functional point of view both are equivalent and they are interchangable.
Classic
The classic architecture allows for programs to directly open the database file. It is architected to allow the same database to be opened by several programs at once. The classic engine also allows remote connections to local databases by providing an inetd or xinetd service (This spawns a seperate task per user connection).
Super Server
The super server architecture provides a server process, and client process cannot directly open the database file and all SQL requests are done via the server using a socket. The super server makes use of lightweight theads to process the requests.
Here are some key features of "Firebird":
· On-Disk Structure
· Database Triggers
· SQL and Objects
· Procedural SQL
· Security
· International Language Support
· Platform Support
· Administrative
· Remote Interface
· Derived Tables
· PSQL Now Supports Named Cursors
· Reimplemented Protocols on Windows
· Reworking of Garbage Collection
· Porting of the Services API to Classic is Complete
· Lock Timeout for WAIT Transactions
· New Implementation of String Search Operators
· Reworking of Updatable Views
· Additional Database Shutdown Modes Introduced
· UDFs Improved re NULL Handling
· Run-time Checking for Concatenation Overflow
· Changes to Synchronisation Logic
· Support for 64-bit Platforms
· Record Enumeration Limits Increased
· Debugging Improvements
· Improved Connection Handling on POSIX Superserver
· PSQL Invariant Tracking Reworked
· ROLLBACK RETAIN Syntax Support
· No More Registry Search on Win32 Servers
· More Optimizer Improvements
Requirements:
· MS Visual C runtime libraries
What's New in This Release: [ read full changelog ]
· The SQLSTATE code has been made available as a PSQL context variable, for use in WHEN .. exception blocks, in the same manner as GDSCODE and SQLCODE
· Now it is possible to write to global temporary tables in a read-only database
· Diagnostics for internal trace errors were improved
· The fbtracemgr utility will now do a periodic flush to output
· Performance of gbak restore at the data insertion stages has improved
· Conversions between BLOBs and other data types can now be effected in the API functions
· The Services API now supports the “metadata-only” restore
· A “silent install” switch has been implemented for make install on POSIX
· The unused bytes of VARCHAR values in the message buffer are now set to zero
· The actual record compression ratio is now estimated in the optimizer
· The MON$STATEMENT_ID value now stays constant among monitoring snapshots
· The SO_KEEPALIVE option on the client TCP socket will now be set, as a measure to guard against aggressive timing out of sockets b...