For those of you who have perhaps assumed that I have a screw loose somewhere, let me explain. Programming is fun, programming is cool, programming may even get you chicks... But one of the first fnagling problems facing a developer at the beginning of any project is, "how am I going to store the data?".
In many projects this may become immediately obvious either because of existing data, or available database systems. But this becomes more of a problem when talking about a thick-client, deployment from scratch. Now you are talking about a totally isolated machine, that you won't get much time (if any) to go around, visit and make sure everything is honkey-dorey. You are also talking about an installation that needs to be small (maybe you are deploying from the web), simple (there ain't no IT guys where this program is goin'), and secure (no good having a password on your application if everyone and their brother can simply look inside the file).
In this case the choices for embedded database become fairly few and far between. Let us add an entire Microsoft bias here and say that you only care about Windows™ development in .Net (se moi). Some of your choices might be: Access/Jet, MSDE (mentioned below), SQL Server Express 2005 , XML files, MySQL, Paradox (!?)
Well, how about VistaDB? Let's do a comparison:
| Name | Requirements | Features | Drawbacks | Price |
|---|---|---|---|---|
VistaDB | .Net Framework 1.1 (Mono?) 500K Redist | Encryption Transactions Triggers/Constraints Referential Integrity Indexing AutoIncrement Identities Multi-User Copy To Install | $129 | |
Access/JET | <> (JET engine deprecated from MDAC and no longer available) 20MB | Included in older MDAC's Referential Integrity Indexing AutoIncrement Identities | Not always available | Going forward, each deployment will require an Access license. |
MSDE | Windows 98 and above 70MB | Transactions Replication Multi-User 16 Instances Stored Procs/Views Triggers/Constraints Referential Integrity Indexing AutoIncrement Identities | Large Difficult Install Patches? Lockdown Needed | Free (with various Microsoft products) |
SQL Server Express 2005 | .Net Framework 2.0 (ONLY) 125MB Ram (after boot) ~40MB | Transactions Replication Multi-User 16 Instances Stored Procs/Views Triggers/Constraints Referential Integrity Indexing AutoIncrement Identities | Large Difficult Install Patches?Lockdown Needed | Free (with various Microsoft products)? |
XML Files | You need to code libraries | Bulky Slow Lots of Custom Development Needed | Free | |
MySQL | ~30MB | Transactions Replication Multi-User Indexing AutoIncrement Identities | Large Requires Installation Lockdown Needed | Free |
Paradox | ~10MB | Indexing AutoIncrement Identities | Prone To Corruption Old Technology Requires BDE install | Free (With various Borland tools) |
On top of this, there is a very nice third party review of VistaDB by Mike Gundelroy. After looking at this list, there is no comparison if you want a small, fast, simple install for an application that includes a database. I'm sold! And, I just bought my copy to play with. I'll let you know if I have any complaints.
2 comments:
Wow, thanks for this great post and thank you for your support. Every VistaDB customer is important to us. Also, just to mention that VistaDB is royalty-free. So you pay once and deploy it as you wish.
Anthony Carrabino
www.vistadb.net
Yes! In my enthusiasm for writing this article, I neglected to mention it was a royalty free distribution.
Also version 2.0 is out wich includes a server edition. But, more important to me - since my last post there have been at least three revision releases that have corrected many minor problems.
This is still an evolving product, but it is working as we needed in our current development of a distributed 3-tier system where the clients may detach and work offline on sensitive data.
Post a Comment