Firebird Goes Gold 30
An Anonymous Coward writes: "A lot has happened since Borland open
sourced their Interbase database.
Borland has since come out with a new closed source version of Interbase,
forcing the Phoenix group to fork the codebase, calling their new database Firebird. Over the past month they have come out with Firebird version 1.0 for various UNIX variants, Windows, and Mac OS X and are now working on moving the code base from C to C++. A great description of Firebird is found here. To show
your support, order Firebird on CD."
What is going on? (Score:2)
What is going on?
Re:What is going on? (Score:3, Informative)
Re:What is going on? (Score:2)
Re:What is going on? (Score:1)
"Collapse Sections (show stories from all sections, unless specifically excluded)"
I stumbled over this setting recently and activated it, and since then I see those "invisible" stories all the time. I guess these are stories that the editors think are unimportant for most of the readers (althought these stories are sometimes far more interesting than the rest) and normaly only show up in the slashboxes of a specific section.
I think this "feature" should be abandoned and all stories be visible by default
Re:What is going on? (Score:2)
I'm trying it, need to figure out the tools (Score:2)
So far I've got the database installed, and found I needed a tool to administer it enough to change the password, did that... now what?
--Mike--
Re:I'm trying it, need to figure out the tools (Score:1)
Once you're there, you're probably going to want to replace those handwritten queries with a friendlier interface, so you'll be looking at developing applications that use those queries internally. However, giving specific advice about that is hard because I don't know what kinds of applications you'd be interested in doing.
Learn SQL! (Score:2)
Also, one of the few things Access is good for (aside from producing forehead-shaped wall divots) is learning SQL. You can start out composing a query in the query-by-example form, then switch to the SQL view, tweak it there, switch back... Downside is that you will then have to unlearn the sillier features of Access's SQL implementation. Somebody wasn't paying attention in Set Theory 101!
You can also use Access as a front end for Interbase/Firebird. Not that you should....
I am using it right now! (Score:1)
Hey Rob!!!!! (Score:2)
Re:Hey Rob!!!!! (Score:1)
Categorical Bullshit (Score:2)
And no, the answer is not "features".
Here's the nasty truth: for most large-scale applications, MySQL is very slow. Despite its SQL front end, MySQL is just a simple indexed file engine. Now, there are a lot of applications where such an engine is more efficient than a relational engine. That would include a lot of low-end databases of the type you see on web sites that serve a few thousand hits per day. Naturally, the implementors of those web sites find that MySQL meets their needs better than fancier software. But to generalize from that to the believe that MySQL is the fastest engine for all applications is very naive.
I don't know of any other web site of Slashdot's scale (measured in daily hits) that uses MySQL to serve its content. (Before you start citing examples, note that Slashdot's daily hit count is in the millions.) The engine just isn't up to it. Rob gets around this by throwing hardware at the problem, and by generating static HTML files for popular content -- content that on any other high-end web site would be generated by a dynamic retrieval.
Re: Categorical Bullshit (Score:1)
If you actually read what I wrote, you'll see that I didn't make such a general claim.
Despite its SQL front end, MySQL is just a simple indexed file engine.
And how do you think that imposing the additional requirements of full SQL semantics makes a database faster?
Here's the nasty truth: for most large-scale applications, MySQL is very slow.
Now, who is talking in vague generalities? If MySQL matches the application, it tends to do pretty well in my experience, even for large databases. Slashdot looks to me like it ought to be a pretty good match to MySQL.
The nasty truth is that many real-world, high-performance transactional systems, scientific databases, and web sites don't use SQL or relational databases at all because they are simply too slow. Go and actually look at IBM's high-end transaction processing systems or the architectures behind major web search engines.
Peace! (Score:2)
But I hope you're not trying to argue that a simple data access technique like the one MySQL uses can scale indefinately! Just how far it can scale is a matter for someone who strong in database theory than I am. But it seems obvious to me that you'll reach the limitations pretty soon.
Now, when you compare MySQL with more advanced DBMSs, you can't just focus on one difference like data integrity. There are a lot of differences -- query optimization, obscure techniques for speeding up file I/O, etc., etc. Nor can you blame any one of these difference for the massive overhead of running high-end DBMSs like Oracle.
Which brings us back to the actual topic: Firebird. Which is just a fork of Interbase. Which is almost as different from Oracle as MySQL is. Which is why Interbase has an excellent reputation as an engine that supports high performance with low overhead.
Re:Peace! (Score:1)
Why not? What kind of magic do you think happens when problems get big? The most scalable and efficient database applications use the simplest representations: fixed size records addressed by absolute location on a raw device. They access any record with at most one, carefully scheduled seek, with no queries, no buffer copies, and no context switch. Using any kind of additional data structure would only make them slower.
Which is why Interbase has an excellent reputation as an engine that supports high performance with low overhead.
That's roughly like saying that the C-shell is faster than the Bourne shell. It may be true, and someone who only knows shell programming may care. But if performance really matters, you don't write shell scripts, you program in assembly or C.
I guess it's magic... (Score:2)
do more with less (Score:1)
Besides, you don't need something of the complexity of Interbase to get B-trees or similar structures. Berkeley DB has B-trees, and so does MySQL. And the fewer features the database has, the more it can optimize its implementation of the index structures.
InterBase performance? (Score:1)
What's the status now, how does it compare to other free databases like MySQL and PostGreSQL?
Re:InterBase performance? (Score:3, Insightful)
Disclaimer: I have used MySQL (a little) and PgSQL (a lot more) but not FB (nor IB), so I'm just repeating what I have read somewhere.
My impression is that FB and PgSQL are quite similar. Both have multiversion cuncurrency control, ACID compliancy, stored procedures, triggers, referential integrity and a lot of other cool stuff. Both support large subsets of SQL92, outer joins, subselects etc.
PgSQL, on one hand, is a classical unix style forking multi-process server, whereas FB has both a multi-process and a multithreaded model. The advantage of the multithreaded model is of course a shared cache, but FB:s threaded version doesn't work on multiprocessor machines. Anyway, on unix at least PgSQL uses posix (or was it sysv?) shm to get a shared cache. On the other hand, the windows version of PgSQL is a cygwin hack, whereas FB has a native win version.
MySQL, on the other hand, does not (currently) play in the same league. Yes, with simple queries and low concurrency (albeit a common situation) it probably smokes both FB and PgSQL speedwise. IMHO MySQL suffers from limited SQL support, table level locking and lack of ACID properties. For more info check out this page [openacs.org] which describes some of the problems with MySQL in more detail (and of course there is a super-long flamewar at the end too...). Anyway, MySQL 4 (alpha) apparently supports more SQL constructs, and new tablehandlers give it row-level locking (or even multiversion concurrency control) and at least some limited ACID capabilities, so the gap between MySQL and PgSQL/FB appears to be shrinking fast..
And then there is of course SAPDB, which appears to be very impressive according to the few people who have tried it.
In the end, I think all of them are excellent (with some reservations towards MySQL and SAPDB). And of course they are all free (duh!). I'd say FB has better windows support than PgSQL and certainly has better delphi drivers, whereas PgSQL would be better on a multiprocessor unix/linux box.
Name conflict (Score:1)
http://www.firebird.org.tw
too bad (Score:1)
.net (Score:1)