SQLite used to be my go-to database for small programs and various other cases, but lately I've been more annoyed by two things. First is its poor concurrency. My last program is an email analyzer/parser and the program is installed in .qmail. Even with the rate of incoming mails of merely 2-3/sec, and concurrency of 3-5 processes, I keep getting locked out when wanting to access the database.

Second is its almost utter lack of ALTER TABLE support. It only allows renaming a table and adding columns. Even renaming columns is not possible (and I wonder what the technical difficulty for that would be).

There are other annoyances like little choices of data types (making date handling very bothersome, for example), but those two above are what drive me nuts.

I've gone Postgres for almost everything nowadays, but still wonder whether Firebird is a better suit for some cases. Firebird is another SQL database engine that has embedded mode and looks to have better support in those two regards. Plus it has stored procedures and other "advanced" SQL features that SQLite lacks.

Does anyone have experience with Firebird to share? Or with SQLite, for that matter, like what tools to use to ease the pain of altering tables? Searching the monastery only yields mostly threads about installing Firebird/IB.


In reply to SQLite vs Firebird vs ... by sedusedan

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.