Thursday, December 21, 2006

Artikel über SQLite und der SQLite ADO.NET Provider

Peter Bromberg (Blog: Peters’ Unblog) stellt in dem Artikel "Experimenting With SQLite and the SQLite ADO.NET Provider" auf eggheadcafe.com seine Erfahrungen mit der Desktop-Datenbank-Enigne SQLite und die Anbindung an .NET-Anwendungen mit einem eigenen ADO.NET-Provider vor.

SQLite ist eine Datenbankengine, die hauptsächlich in Desktop- oder kleinen Webanwendungen eingesetzt wird und im Prozessraum der Anwendung läuft (im Gegensatz zu anderen Datenbanken wie MySQL, die i.d.R. über Sockets angesprochen werden).
Trotzdem sei SQLite ziemlich ausgereift und implementiert auch große Teile des SQL92-Standards.

Über einen eigenen ADO.NET-Provider lässt sich SQLite auch direkt an .NET anbinden. Für .Net-Entwickler ist dies nahezu ein KO-Kriterium.

Peter führt mit einer minimalen Blog-Anwendungen einen kleinen Stresstest für die Datenbank durch und kommt zu dem Schluss

SQLite, combined with the current iteration of the Finisar SQLite.NET Provider, represents an interesting alternative where low to moderate usage stress is likely, and is an attractive alternative to MSAccess, MSDE, MySQL and SQL Server where an open-source, well-supported "low footprint" zero-impact deployment database engine is needed. There is a growing amount of community open-source support, and the engine has had extensive testing. It’s also being released with PHP 5.0 as "part of the package", indicating broad support in the development community. You can expect to see more offerings related to SQLite, as well as possibly a 100% Managed-code implementation. In addition, expect to see the developer community fully implement SQLite for the Compact Framework, making this an attractive and very compact offering for CF applications employing easily - deployable local data stores.

Für die relationale Datenhaltung in Desktop-Anwendungen empfiehlt Microsoft die eigene kostenlose Datenbankengine SQL Server Express, eine Version des SQL Servers aber ohne die Möglichkeit des Remotezugriffes und andere Features für den Server-Betrieb.

SSE besticht natürlich durch eine exzellente Einbindung in Visual Studio, hat aber den großen Nachteil, dass die Software extrem groß und umfangreich ist (60 MB Download entgegen ca. 320 KB für die SQLite-Bibliothek) und als eigenen Service im System installiert wird.

Nach einigen Problemen mit inkonsistenten Datenbankendateien mit SSE in einem Projekt, sieht SQLite für mich als eine sehr gute Alternative zu dem SQL Server Express aus, die ich sobald wie möglich testen möchte.

Bei Google Video gibt es das Video "An Introduction to SQLite" aus der "Google Talks"-Reihe in der die Datenbankengine vorgestellt wird. Freilich ohne auf die Bindung an .NET einzugehen.

No comments:

Post a Comment