web-dev-qa-db-ja.com

インストールを必要としない軽量SQLデータベース

動作するためにクライアントコンピューターにインストールする必要がなく、.NETアプリケーションから簡単にアクセスできる軽量のSQLデータベースをお勧めしますか?基本的なSQL機能のみが必要です。

現在、単純なプロジェクトでAccessデータベースを使用しており、.MDBファイルと.EXEファイルを一緒に配布しています。代替案を探しています。

34

軽量とはどういう意味かによります。ラムで簡単ですか?またはより軽いdbファイル?またはdbに接続するためのより軽いコネクタ?または全体的にファイルが少ないですか?私が知っていることの比較をします:

                    no of files    cumulative size of files    db size

Firebird 2.5             5                6.82 MB               250 KB

SqlServerCe 4            7                2.08 MB               64 KB

Sqlite 3.7.11.0          1                0.83 MB               15 KB

VistaDb 4.3.3.34         1                1.04 MB               48 KB

no of files - includes the .net connector and excludes the db file

データベースは、2列2行の1つのテーブルです。 dbはさらに使用すると異なる成長をする可能性があるため、少し塩を入れてdbサイズを取得します。たとえば、SqlServerCeは当初64KBでしたが、数百のレコードを追加した後はまったく増加しませんでしたが、VistaDbは48から72、140KBに簡単に増加しました。 SQLiteはその点で最高であり、最低から始まり、直線的に成長しました。

いくつかの逸話:出荷時設定でSqlServerCeを使用するとパフォーマンスが向上しました。つまり、構成なしでキックを開始するのが最も簡単ですが、オンライン資料がないため、Firebirdを開始するのが少し難しいことがわかりました。私が読むことができたFirebirdは、最も広い標準SQLコンプライアンスを持っていました。 VistaDbはフルマネージドC#で記述されているため、アプリケーションのアセンブリとマージして1つのファイルにすることができますが、私には最も遅いように思えました。とりわけ、パフォーマンス、使いやすさ、サイズを考慮して、SQLiteを選択しました。 SqlServerCeは私の2番目の選択肢です。

要するに、それぞれに長所と短所があります。繰り返しになりますが、私の個人的な経験である、ほんの少しの塩で私の暴言を取ります。

24
nawfal

チェック SQLite 、これは、自己完結型のサーバーレスのゼロ構成のトランザクションSQLデータベースエンジンを実装するソフトウェアライブラリです。

.NETの場合は ラッパー が多くあります

26
CMS

.NETで書いている場合は、VistaDBを見ることができます。これは100%マネージコードであり、真の参照整合性、tsqlストアドプロシージャ、clrプロシージャなど、xcopyでデプロイできる単一のアセンブリに含まれています。

VistaDBは、中程度の信頼度で共有ホスティングasp.netサイトで実行され、Active Directoryドメインでもゲスト(ローカルアクセス許可なし)として実行されます。

エンジンをデプロイするマシンにはレジストリやその他の構成設定は必要なく、ランタイムはロイヤリティフリーです。

32/64ビットのサポートは単一のアセンブリに含まれています。アンマネージコードを使用する混合モードエンジンでは、通常、32ビットと64ビットをサポートするため、または特定のCPUターゲット用に再コンパイルするために、アンマネージコードの複数のバージョンを出荷する必要があります。

詳細については、 VistaDBの利点 SOスレッド)を参照してください。

http://www.vistadb.net

4
Jason Short

SQL Server 3.5/2008 Compact Editionはどうですか? SQLServerのきちんとした組み込みバージョン。

http://www.Microsoft.com/Sqlserver/2008/en/us/compact.aspx

.NETで非常にうまく機能します。もちろん、通常のSQLServerツールとスクリプトはすべて正常に機能します。

4
stephbu

データをJSONファイルとして保存できます。スタンドアロンにする必要がある場合は、 [〜#〜] iodb [〜#〜]LiteDB などのdllソリューションがあります。

3
AC99

SQLite 素晴らしいです。

Firebird 埋め込みもチェックしてください。将来、複数のユーザーがデータベースにアクセスする必要がある場合は、より適切なオプションになる可能性があります。

3
JAG

SQLite あなたが求めているものになります

2
Jarod Elliott