Open Source DatabasesThere are many different Open Source databases like Berkley DB, MySQL, and PostgreSQL, just to name the more popular ones.[1] All of these databases work on multiple operating systems. When narrowing your choices for a database for your project, consider the following features:[1] Also available are mSQL, sapDB, and Firebird.
Sleepycat Berkeley DatabaseAlthough not a relational database, the Berkeley Database engine is used in many products. Sleepycat (Chapter 3, "General Development") utilizes a Sleepycat database.Chapter 2, "Open Source and the .NET Platform").For a good book on Sleepycat, see:Berkeley DB by Sleepycat Software Inc. SAMS MSDEMicrosoft Desktop Engine, as was mentioned in Chapter 3, is a full-featured Microsoft product. MSDE is a scaled down version of Microsoft SQL with the limitations outlined in Chapter 3. Although it is not under an Open Source license, MSDE is freely available for integration into proprietary products. Many freely available IDEs mentioned in Chapter 3, like #Develop and WebMatrix, fully support MSDE as if it were SQL with all the Rapid Development (RAD) features. These features include drag-and-drop creation of a dataset from a database table, direct editing of tables, and data adapter wizards, just to name a few. MySQLChapter 3. If your product meets these requirements, there are many administration tools featured in Chapter 3 (Figures 3.1316). Also, there is an Open Source ADO.NET data provider (Listing 10.2). Listing 10.1. MySqlNet DataAdapter Exampleusing ByteFX.Data.MySqlClient; ... public DataSet SelectRows(DataSet dataset,string connection,string query) { MySqlConnection conn = new MySqlConnection(connection); MySqlDataAdapter adapter = new MySqlDataAdapter(); adapter.SelectCommand = new MySqlCommand(query, conn); adapter.Fill(dataset); return dataset; } One great convenience of MySQL is that it does have a native Windows port. This makes it very easy to install MySQL on Windows (it already comes with most Unix distributions) without any dependencies.For a great book on MySQL, see:MySQL , Second Edition by Paul DuBois SAMS Which Database to Choose?This is a very loaded question. To adequately compare these databases would require an entire book. It is a comparison of Speed vs. Features vs. Licensing and Rapid Development (RAD). The goal of this chapter is to give a quick comparison of features and point you to other resources to learn more, with the one requirement of all database engines being Open Source and having ADO.NET support.Chapter 3), but more importantly, you have to see how you and your team like the database. I know that sounds simple, but just download the databases, install them and a few tools, and create a very simple application to see which fits you best. But do not forgetChapter 3) do not work for you, then you will probably like PostgreSQL or MSDE.NOTEI have chosen PostgreSQL for the database examples in this book. The main reason is feature set and licensing. My philosophy is that most products, given enough time, grow out way beyond the intent of the original design. Therefore, you do not know at design time what you may need in the future so I usually go with a greater feature set for this reason. I may not use transactions today, but in the future I may need them, and I do not want to change databases sometime in the future. This would be a big waste of time for a development team. With regards to licensing, I always go for Open Source (so that I have the source and can change it if need be) and can use the product in a proprietary fashion to make great profits.
|
