データベース機能を使用して WPF アプリケーションを拡張したいと考えています。どのデータベース エンジンをお勧めしますか?その理由は? SQLite、SQL CE、その他?
6 に答える
使用するアプリケーションによっては、SQL Lite を使用することをお勧めします。これは、他のソフトウェアをインストールする必要がないためです (SQL CE や Express などは通常、個別にインストールする必要があります)。
この投稿の下部にあるプロバイダー リンクから、SQL Lite の最も重要な利点のリストをご覧ください。
SQLite は、自己完結型で組み込み可能な構成不要の SQL データベース エンジンを実装する小さな C ライブラリです。機能は次のとおりです。
- 構成不要 - セットアップや管理は不要です。
- SQL92 のほとんどを実装します。(機能はサポートされていません)
- 完全なデータベースは、単一のディスク ファイルに保存されます。
- データベース ファイルは、異なるバイト オーダーのマシン間で自由に共有できます。
- サイズが最大 2 テラバイト (2^41 バイト) のデータベースをサポートします。
- 小さなコードフットプリント: 30K 行未満の C コード、250KB 未満のコードスペース (i486 の gcc)
- ほとんどの一般的な操作で、一般的なクライアント/サーバー データベース エンジンよりも高速です。
- シンプルで使いやすい API。
- 自己完結型: 外部依存関係なし。
- ソースはパブリック ドメインにあります。あらゆる用途にご利用ください。
WPF を使用しているので、少なくとも .NET 3.0 を使用していると推測できます。次に、LINQ を含む .NET 3.5 SP1 (.NET 3.5 と同じサイズですが、パフォーマンスが大幅に向上しています) に移行することをお勧めします。
ただし、SQLite を使用する場合は、LINQ サポートを提供する次の SQLite プロバイダーを使用することをお勧めします。SQLite データベース エンジン用のオープン ソース ADO.NET プロバイダー
私は自分の WPF アプリで SQL Compact Edition を使用しましたが、この決定に満足しています。すべてがうまく機能し (WPF と SQLCE はどちらも MS であるため、うまく連携して動作します)、ランタイムのインストールは十分に小さく、私のニーズに対して十分にスムーズです。Visual Studio を使用してデータベースを作成および変更しました。
異なる意見を捨てるために、私たちは昨年 SQL Compact Edition を使用しており、おおむね満足しています。構成は簡単で、通常の MS SQL データベースと非常によく似た動作をします。トリガーやストアド プロシージャなど、欠けているものもありますが、SQL 3.5 CE には、必要なものがほぼすべて揃っています。インストールするのは約 2Mb の .dll です。データベースの暗号化、トランザクションを提供し、VS の型付きデータセット デザイナーをサポートします (3.1 にはいくつか問題がありましたが、CE 3.5 は素晴らしいです!)。
SQL CE DLL は独自のアプリケーションにパッケージ化できるため、個別にインストールする必要はありません。ただし、セットアップについて知りたくない場合は、MSがデフォルトのインストールパッケージを提供しています...など。
さらに、SQL CE はプライベート展開をサポートしています。
PostgreSQL の機能が恋しいですが、SQLite は本当に素晴らしい製品です。他にも、Berkeley DB のように検討すべきデータベース、特に SQL 以外のデータベースがあります。
/アラン
SQLite が進むべき道であることに同意します。Subsonic 2.1 には、SQLite のサポートも含まれるようになりました。