.NET で C# を使用して小さなアプリケーションを開発しています。リソースをあまり使用しない軽量のデータベースが必要です。
最も有名な軽量データベース ソフトウェアをいくつか挙げてください。
14/06/2016 ええ...まだ賛成票を獲得しています:-/
2014 年 3 月 17日、私はまだこれに対する賛成票を受け取っています。これが最初に回答された日付に注意してください。リストされている主な 3 つの項目はまだ完全に実行可能ですが、リストは古くなる傾向があります。一覧にないデータベース テクノロジも利用できます。
すぐに認識できる無料のオプションがいくつかあります。
SQL Server Compact のダウンロードには、コードで参照する必要がある ADO.NET プロバイダーが付属しています。SQLite のダウンロードには含まれていない可能性があるため、リンクを次に示します。
http://sqlite.phxsoftware.com/
3 つすべてが SQL を使用しますが、いくつかの制限や癖がある可能性があります。Management Studio は Compact および LocalDB で動作しますが、SQLite では SQLite Administrator などの別の UI ツールが必要になります。
http://sqliteadmin.orbmu2k.de/
次のような NoSQL の代替手段があります。
個人的には、他の無料オプションに直面して MS Access を使用することは避けたいと思います。LocalDB、Compact、または SQLite で間違いはありません。それらはすべて、小さな RAM で比較的高速に実行される素敵な小さなデータベースです。Microsoft 製品を好きになることについての宗教的な側面については個人的な好みです :-)
分離ストレージを使用するように構築されているため、Windows Phone プログラミングには Sterling を使用しています。RavenDb に関する記事しか見たことがありませんが、RavenDb は JSON ベースのドキュメント ストレージ フレームワークであることがわかります。
状況を混同しないように (SQLite、SQL Server Express LocalDB、または SQL Server Compact Edition を使用してください)、他にも組み込み/ローカル データベースが存在します。リレーショナルなものもあれば、オブジェクト指向のものもあります。
これらすべてが無料というわけではありません。SQL / LINQ / インプロセスのサポートは、それらすべてで異なります。このリストは単なる好奇心です。
Karvoniteもありますが、コード ギャラリーへのリンクは壊れています。ライブが再開されたら、WP7 開発のためにこれを調べます。
SQLiteをお勧めします。私が働いている場所で開発するほとんどすべてのアプリに使用しています。
小さくてコンパクトです。DLLがappディレクトリにある必要がありますが、AccessやSQLServerなどの他のソフトウェアをインストールする必要はありません。また、以下のdanielkzaが述べているように、「SQLiteはパブリックドメインであるため、ライセンスについてまったく心配する必要はありません。」それは本当に大きな違いを生むことができます。
System.Data.SQLiteまたはcsharp-sqliteを使用して、SQLまたはOleDBと同じ方法を使用してC#アプリでアクセスできます。
また、データベースを編集/管理するためのアプリケーションも必要になります。私の意見で最高のものはSQLiteStudioです。さらにいくつかあります:
SQLite Admin
SQLite 2009 Pro(ページの下部)
更新-7/25/11-その他のSQLiteアプリ(SOに関する質問はこちら)
SQLiteの詳細:
ウィキペディアの
SQLiteSQLiteを使用している企業
カスタム関数:さらに、SQLiteコア関数を調べていて、気に入ったものが見つからない場合は、独自のカスタム関数を作成できます。次にいくつかの例を示します。SOAnoterの例
から
組み込みの Firebirdは良い選択です
組み込みバージョンは、サーバーの驚くべきバリエーションです。これは、いくつかのファイルにパックされたフル機能の Firebird サーバーです。サーバーをインストールする必要がないため、展開は非常に簡単です。
非常に優れたドット ネットドライバーがいくつかあります
マイクロソフトの公式ソリューションを使用する場合は、SQL Server Compact。これには、そのようなことが必要な場合に SQL サーバーでレプリケーションを使用できるという利点があります。
非常にシンプルで小さくて無料の何かが必要な場合は、SQLite。これは、Android が内部データベースに使用するものであるため、非常によくサポートされており、非常に優れた .NET バインディングが利用可能です。
SQLite の明確な利点の 1 つは、クロスプラットフォームであることです。したがって、アプリケーションを Mono.NET に移植する場合、データベースの実装に変更を加える必要はありません。
私はこのソリューションの MS Access が好きではありませんが、多くの人がそれを回答に含めています。独自のフォーマットとプラットフォーム依存性のために制限されています。ただし、それには利点があります。MS Access のコピーがあれば、データを簡単に操作できます。クエリをグラフィカルに作成し、マクロを作成できます。MS Office の他の部分と簡単に統合できます。
これらすべての中で、SQLite は非常にコンパクトで、よく文書化されており、プラットフォームに関係なく仲間の開発者の軍隊によってサポートされているため、私の推奨事項です。
編集
ここにいる誰もが言い忘れている別のオプションがあることに気付きました
リレーショナル テーブルが必要ない限り、ADO.NET 経由でデータセットとして読み取った CSV ファイルを使用できます。(他の何よりもおかしな提案ですが、場合によっては適切であり、MS の展開に追加のライブラリは必要ありません。
.NET 4.0.2 以降でプロジェクトを構築していて、組み込みデータベースのサポートが必要な場合は、SQL Server Express LocalDBを検討してください。
これは Express ファミリに比較的新しく追加されたもので、(Express の他のエディションと比較して) インストール フットプリントが小さく、管理オーバーヘッドが削減されていますが、SQL Server のプログラミングの側面を維持しています。つまり、Compact Edition とは異なり、LocalDB では、SQL と通信するために別の ADO.NET プロバイダーをインストールする必要はありません。
詳細については、次を参照してください。
SQL Express v LocalDB v SQL Compact Edition (MSDN ブログ)
SQL LocalDB vs SQL Server CE (スタック オーバーフロー)
http://en.wikipedia.org/wiki/NoSQL_(RDBMS)はどうですか?
特にMongoDBfor.Net
無料で使用でき、などのSql Server Express Edition
機能が必要になるまで、同じように強力です。これmirroring
を見てください。
無料のデータベースである必要がない場合に言及されていない代替手段は、VistaDBです。これはすべてマネージコードであり、組み込みデータベースに多くの機能を提供し、かなり優れたパフォーマンスを提供します。VistaDBストアドプロシージャの大部分はSQLServerExpressで変更せずに実行されるため、SQLCEとSQLServerExpressの間の非常に優れたブリッジです。私はこの時点でもカスタマーサービスにかなり満足しています。私は仕事でそれを使用しています。開始するサービスはありません。空のDBは約1MBで、DLLもかなり軽量です。ADO.NETプロバイダーなどがあります。私はそれが少し好きでした。
私は db4o を使用して成功しました。
ファイルベース、大規模なコミュニティ、使いやすい。
ライセンスの詳細
無料の一般公衆利用許諾契約書 db4o はデフォルトで GPL の下でライセンスされています。
GPL ライセンスは、db4o を社内で使用する予定がある場合、または独自の派生物を GPL の下でフリー ソフトウェアとして開発および配布する予定がある場合に理想的です。
商用ライセンス 商用の非 GPL 製品に db4o を組み込みたい場合は、商用ライセンスが必要です。コマーシャル ライセンシーは、プレミアム サービスとサポートにアクセスできます。
SQL Server Compact Edition は、無料でサイズが軽く、統合性に優れているため最適です
SQL Server Express または MS Access