Archives / 2005 / November
  • Embedded Databases

    A while ago, we were evaluating building a product that would run on a users desktop (fat client in the old school terminology, winform in this era :-) ), one of the requirements was that it would need to store data. An embedded database would be a great fit, preferably a relational one.

    MSDE (or now that that SQL2005 shipped) Sql Server Express just wouldn't cust the mustard. It's not a question of capacity, speed or memory footprint (although memory footprint could be an issue), it is just an issue of size. How can you justify that for a software that is 1,2 or 3 Mb, you multiply that size by 10 or 20 times, just to include a database? (an issue a user, specially a non technical user doesn't care about).

    Since this would be a low cost product, with a very small niche market all pennies would count, so the preference was a on either a low cost (or preferably) free solution.

    At the time, this was our short list.

    SqlLite - At the time i've looked if someone had ported it to managed code using Managed C++. No dice here, but there is an ADO.NET Provider.  Which should be enough. SqlLite seems both small and fast, and has a solid reputation.

    Firebird - A product with a solid reputation, and that seems to have a good and loyal user base. It 's not managed,but like SqlLite it also has managed ADO.NET providers. It has a good reputation, it seems to have a small footprint, and it looks like a very easy product to use as and embedded data store.

    VistaDB - Also seemed like a nice product, but it costs $$$. Which somehow it puts it on a lower level than the SqlLite and Firebird (due to our constraints).

    Since the project was postponed, i haven't evaluated the solution on it's technical merits. Both SqlLite and Firebird had points on it's favor (cheaper :-D ),and my investigations of VistaDB were very light. (to be read, just read the brochures :-)). Firebird had another point in it's favor. It is supported by LLBLGen Pro, a product that we like, better yet a product which we have already licensed.

    Are you still with me? (doubt it), basically i've written all this crap, because i'm a sucker for goodies, i usually pass on the opportunity for useless freebies, but this free may eventually be useful to me. :-)

    Vista Software, seems to be engaging in some kind of viral marketing campaign, it is offering free licenses to bloggers who include the following marketing babble:

    VistaDB 2.1 database for .NET has been released
    This 2.1 update includes over 60 improvements, including new support for .NET 2.0 and Visual Studio 2005. VistaDB is a small-footprint, embedded SQL database alternative to Jet/Access, MSDE and SQL Server Express 2005 that enables developers to build .NET 1.1 and .NET 2.0 applications. Features SQL-92 support, small 500KB embedded footprint, free 2-User VistaDB Server for remote TCP/IP data access, royalty free distribution for both embedded and server, Copy 'n Go! deployment, managed ADO.NET Provider, data management and data migration tools. Free trial is available for download.
    - Learn more about VistaDB
    - Repost this to your blog and receive a FREE copy of VistaDB 2.1!

    Since i'm an aforementioned freebie sucker, i'm applying for my free license. However i had to write something with (at least in appearence) useful, so i'm not labeled as a marketing whore. :-)

    In my defense, i already wrote a post in this topic (with some imagination) of embedded databases here.