Articles tagged in firebird

  1. Firebird better than AC/DC

    Not an AC/DC fan myself, but I love this Firebird Hymn recorded by Rock Band "The Lost Century" (got any link?) I have a feeling that 2.0 is going to be released any moment (although we have been using release candidates on production sites for the last 6 months). Why can't all the major open source projects have a rocking theme song for the major releases?

  2. Firebird 2.0 RC3 Released

    Firebird 2 Release Candidate 3 has just been released, and you can now download binaries for major platforms here. For Windows the FB 2 setup exe comes with both classic and super-server.

    We actually have been deploying only super-servers, on beefy boxes with 2x dual core with 2x HT each (8x processing unit in total), because of our lack of experience in classic servers. Well, those server boxes do run other applications so you don't get CPUs sitting there doing nothing, but I still wonder which one will be more suitable -- one single super-server with shared page cache pool that can only utilise one CPU core, or multiple classic server instances that have their own page cache. However we do have up to 160 concurrent connections to the database on some of our boxes. Not sure how Win2k3 will perform with this kind of process count. Damn! Wish we can deploy them onto Linux boxes.

    Well, we know that Firebird 3.0 will solve the super-server concurrency issue. When it that coming again?

    Now onto Firebird 2 -- it has not stopped to impress me with its improvement over FB 1.5. I was helping M resolving one slow query this afternoon. It looks something like this:

    SELECT rows FROM table1 t1
     INNER JOIN table2 t2 ON
     WHERE IN (v1, v2, v3, ..., vn)

    Both table1 and table2 are large tables -- both around 250,000 rows each. In Firebird 1.5, it will do a NATURAL (a sequential search basically) over the smaller of table1 or table2 and use the index on id column for join, even when n is small -- like 20. So in order to return 20 rows of data, Firebird has to scan through at least 250,000 rows, which totally kills the performance. Actually it stalls the FB a couple of times this week on a production site to a point which we need to restart FB server to bring it back to sanity.

    Whereas in Firebird 2, it will try to use the index for v1, v2, ..., vn instead, if n is small (seems to be around 130 mark). It is much faster when the table size is large. Yeah! Problem solved by just upgrading the DB.

    Except all our production servers (except one) still use FB 1.5, and probably will not switch until FB 2 final is out. Besides upgrading 40+ DB servers plus converting 200+ DB to 2.0 ODS will be painful. Also it won't work all the time for us, as our n can be up to a few thousand. Problem of pulling data out from one SQL Server, and try to use it to perform queries on another DB...

    Of course we can also build a temporarily tables and do a inner join. Now I just need to work out how to make thousands of temporary insertion fast...

  3. Jim Starkey Left Firebird for MySQL

    There has been a series of acqusitions amongst database companies. Oracle bought InnoBase Oy and Sleepycat, two makers of transactional storage engine for MySQL. MySQL AB has then acquired Netfrastructure, a web aplication development framework. However, what MySQL AB actually acquired is not just the company + its software, but the …