Firebird Relational Database 1.5 Final Out
firebirdy writes "The Firebird Project is pleased to announce that the v1.5 release of the Firebird database engine is now available for immediate download. The v1.5 release represents a major upgrade to the engine, which has been developed by an independent team of voluntary developers from the InterBase(tm) source code that was released by Borland under the InterBase Public License v.1.0 on 25 July 2000. Development on the Firebird 2 codebase began early in Firebird 1 development, with the porting of the Firebird 1 C code to C++ and the first major code-cleaning. Firebird 1.5 is the first release of the Firebird 2 codebase. Install packages are currently only available for Windows and Linux but other platforms should follow shortly." This product is not to be confused with newly renamed Firefox web browser, which was also called Firebird for some time.
On the other hand, I hated having to administer that hell-pit of a server so badly that I wrote a migration program to transfer entire databases from Firebird to PostgreSQL. I can't describe how happy I was to switch a fairly large online store's backend to a modern platform.
Dewey, what part of this looks like authorities should be involved?
I'm also an Oracle guy. I find MySQL loathesome and inadquate for all buy toy-level applications. I see Firebird and PostgreSQL both as viable midrange solutions. I think they each could work in settings were you aren't really stressing the newest features of Oracle, but want "standard" RDBMS functionality. Both have stored procedures, triggers, and some kinds of subqueries (at least in the WHERE clause -- oracle has them also in the from clause and even in the SELECT clause).
I think you'll find that materialized views, at least as far as doing refresh-on-commit and query rewriting, are a really advanced feature that only Oracle has. In many warehousing or decision support applications, they are a must have feature that makes the difference between project success and failure.
Assuming you aren't in such a high performance setting, you can often simulate a materialized view by simply populating a transformation table using stored procedures. In such settings, I think either Firebird or PostgreSQL would work fine, cost less, and avoid icky proprietary licence restrictions.
Firebird has a few minor claims to fame.
What about distributed transactions? AFAIK, no other open source relational database supports them (neither PostgreSQL, nor MAXDB, nor MySQL). I do quite a bit of distributed object programming, so I can't do without distributed transactions, and Firebird's work well.
What about server-side event notification? AFAIK PostgreSQL is the only other open source relational database that supports them. Switching from a polling architecture to event notification can yield huge performance benefits.
What about nested transactions? Firebird 1.5 supports savepoints, which are a basic rendition of nested transactions. AFAIK, MAXDB is the only other open source relational database with nested transaction support (though MAXDB's are full-fledged nested transactions, not just savepoints).
This isn't just some Firebird-propaganda-bullet-list. I find all these features indispensable.