Does it make sense to consider using an open-source database? More to the point, does it make sense to choose an open-source database instead of SQL Server when cost is your primary concern? Interesting questions—I want to share some insights. I touched on this topic in my previous commentaries "In the Express Lane with SQL Server" and "MSDE: Get More than You Pay For". I want to revisit the topic because I've been reading some articles in the mainstream press about open-source databases such as MySQL or Ingres and how they compare favorably to database solutions that you have to pay for.
Let me set the stage for this discussion. Imagine that you're planning a new application rollout. You use Microsoft technology regularly (but not exclusively), and SQL Server is on the short list of database platforms you're considering, but price is a significant factor. Let's assume that up-front cost to purchase is the only thing that matters—of course, that's not true, but I want to keep the discussion simple. MySQL, Ingres, or any other free, open-source database can look attractive if up-front license costs are your primary concern. Can Microsoft play in that game? The short answer is probably. (Don't you love a journalist who's willing to go out on a limb with a definitive opinion? <g>) Microsoft SQL Server Desktop Engine (MSDE) is a viable free option in many scenarios when you can roll out a free, open-source database. However, there are some caveats to that statement. First, MSDE isn't completely free, but buying a single license for any product that MSDE comes with (e.g., Microsoft Access) gets you free redistribution rights for MSDE's core pieces. You can build an application and distribute it to an infinite number of users for free. To read more about how to get and distribute MSDE, see "Register for MSDE 2000 Redistribution Rights". Second, the Query Governor prevents MSDE from scaling to meet your high-end database needs. However, if you're worrying about high-end databases, it's likely that a completely free open-source database probably won't meet your needs either.
Now, let's talk about the options that will exist in a few months when SQL Server 2005 ships and SQL Server 2005 Express Edition becomes commercially available. SQL Server Express is the new version of MSDE that's part of the SQL Server 2005 product family. Yes, it's cheating to compare current open-source products to software from Microsoft that's not commercially available yet, but I'm doing it anyway. SQL Server Express will be totally free—no caveats. The product's only limitation will be that it won't use more than one physical processor—though the OS it's running on can certainly use more. However, you'll get more CPU juice on a multi-processor box with hyper-threading because SQL Server Express will use the additional logical processor that hyper-threading provides. Maximum database size is 4GB, and the buffer pool for SQL Server memory is limited to 1GB.
Are there open-source databases that will provide you with more theoretical scalability? Yes, but if you're running an application that requires more processing capabilities than a free version of SQL Server Express there probably isn't a free lunch for you. You'll pay whatever vendor you end up working with for that database processing one way or another. But SQL Server Express will present an honest-to-goodness free option for a huge number of small departmental database application needs.
You can put together staged benchmarks that showcase circumstances in which a free, open-source database can do things that MSDE or SQL Server Express can't. However, I suspect that most users who can benefit from a free, open-source database can also benefit from a free version of MSDE or SQL Server Express. I sense that some people look to open-source databases because they don't consider a free version of a Microsoft database as a viable candidate. I'm not saying that it's the best solution in all cases—there are cases in which an open-source database provides more bang for your buck, but it's unfortunate when customers think they need a free solution and wrongly assume that Microsoft doesn't have any story to tell in the database arena.