Firebird 2.0 Final Released 158
Samyem Tuladhar writes "After 2 years in development, the Firebird Project today officially releases the much-anticipated version 2.0 of its open source Firebird relational database software during the opening session of the fourth international Firebird Conference in Prague, Czech Republic."
Really cool but... (Score:2, Insightful)
99% of all open source projects that use a database support MySQL.
maybe 10% have some support for Postgres.
and I don't know of any that support Firebird.
We really need to see some more support for databases other than MySQl
Re:Really cool but... (Score:4, Insightful)
Slashdot editors trying to amuse us (Score:3, Insightful)
Re:whatza? *bird* ? (Score:2, Insightful)
Re:firebird is a very poor database. (Score:5, Insightful)
Re:Firebird is nice (Score:2, Insightful)
And if you even were a SQL Server user, you'd know there's no such thing as MSSQL 2006, and claiming firebird is faster than MSSQL is truly laughable. I doubt you'd ever even SEEN it, much less USED it, or know anything about it.
Yeah, you have absolutely *NO* clue what you're talking about. 100% FUD.
Re:Huh? (Score:3, Insightful)
How so? I doubt that
Re:For those of you who haven't heard of Firebird. (Score:5, Insightful)
Re:Really cool but... (Score:3, Insightful)
Let me try and explain it to you.
Mysql was first to market (the market of open source database engines) with the features that people really want. Full text indexing, replication, clustering, ODBC drivers, etc.
Now maybe their replication wasn't all that hot but it took five minutes to set up and it worked. It took posgtres years to get a replication solution and even then it's complex and hard to set up.
Maybe other databases have cool features like referential integrity and stored procs but you know what most people didn't care about those. They wanted a web site that could take hits and in order to do that they needed replication. No matter what postgres had until it had replication and full text indexing it just wasn't an option.
I am about to start on a new project and I really want to use postgres but you know what I am not going to. I am going to use mysql because my preliminary tests show that it's faster and I need clustering and replication. Slony only supports master slave, the slonyII wiki hasn't been touched in years. Never mind all the cool stuff postgres has, I can't use it. Too bad because I really like it.
Firebird vs the rest (Score:2, Insightful)
A seemingly unbiased speed comparison (well at least not biased towards Firebird, anyway) can be found here: http://www.sqlite.org/cvstrac/wiki?p=SpeedComparis on [sqlite.org]
As for features: it has them all. ACID, triggers, stored procedures, will maintain identical copies of the one database on two drives for you, etc, etc. Possibly because of this when I went looking for a database to replace Oracle it seemed to be the one most recommended. At least one commercial vendor has an add on that provides the one thing missing in this role: a stored procedure language compatible with Oracle's PL/SQL.
And yes, I am a happy Firebird user. But not for any of the reasons mentioned so far. I use it because it is dammed easy to bolt onto your current project. No configuration. Small footprint. Ports to anything. Zero ongoing maintenance. That is its heritage you see - it always was a bolt on library for applications that don't even mention the word SQL in their description. So Firebird is doing its job well if the end users and sysadmins aren't aware of its existence. Think about that when you are next tearing your hair out trying to set up some MYSQL database when all you wanted to do is install some tiny web app someone else in the office asked for.
And that leads us to what turns most people off. There are no flashy front ends out of the box. Is comes with three utilities of note: backup, restore and isql: all very simple command line tools. Its an embedded database - you are meant to provide the front end yourself. And the doco, while present, is patchwork of old stuff and separate "changes since ..." files.
But if you are need a backend for a application that doesn't parade its "SQL" credentials Firebird is one possibility. The others are sleepycat (for speed) and SQLLite (for simplicity). You'd be nuts to use anything else, and I wish a lot of projects out there hadn't.
Firebird 2 cheat sheet (Score:1, Insightful)
Re:Really cool but... (Score:3, Insightful)
For example, take mySQL and PostgreSQL. They've got vastly different locking methods: mySQL does row locking, while PostgreSQL does MVCC. Databases like mySQL like small, short running transactions because otherwise things start getting caught on locks and performance goes way down. PostgreSQL on the other hand LOVES big transactions to the point that you can BEGIN ; SELECT * FROM multi_gb_table ; COMMIT as a perfectly good backup strategy, and gets worse performance if you don't use transactions (implicit transaction per statement) as the overhead is pretty big.
In fact, unless you get caught with the following problem, forgetting to commit for an hour in PostgreSQL has no noticeable effect besides the lack of database vaccuuming (removal of unused rows), while mySQL would quickly grind to a halt if you did that.
Then you have the quirks. For example, PostgreSQL does use locks in one case: foreign keys. It's possible to get a deadlock if you have transactions that modify the table referenced by a foreign key constraint, because the lock is placed to ensure the constraint is still satisfied by the end of the transaction. This can even happen if you don't change the primary key column, which is the whole concern here.
A postgresql specific workaround is splitting the table in two: One with just the primary key to use for the constraints, and another for the actual data. Besides ugly, this is a PostgreSQL-specific workaround. For mySQL you'd hit something else instead, which probably works perfectly fine in PostgreSQL.
Trying to design a database that works with every DB provider would end up as an unholy mess of ugly workarounds like that, and seriously bad performance in at least one of them.
Re:Firebird is nice (Score:2, Insightful)
Of course, taking into account that MS SQL Server 2006 does not exists.