3

私は、今後のプロジェクトで使用するデータベースに適したものを見つけるという任務を負っています。相性の良いものを探すのに苦労しています。このアプリケーションは、.Net Framework 4.0 C# アプリケーションです。

最初に SQLite を見ましたが、書き込み中に SQLite がデータベース ファイルをロックするため、問題が発生しています。

同じデータベースを使用して 2 つの別々のアプリケーションを同時に実行していますが、いつ書き込みを行っているかわかりません。ロックが解放されるのを待ちましたが、これにより一部のデータが失われました。そこで、キューシステムを発明しようと思ったのですが、両方のアプリケーションが同じキューを使用する必要があるので、別の Window のサービスを作成するだけでよいと考えました。これらすべてが、私には従来の RDBMS のように聞こえ始めました。

私は後戻りして、「正しいデータベースを使用しているか?」と自問することにしました。

私が与えられた要件を満たす可能性のあるデータベースを知っている人はいますか?

私の要件は次のとおりです。 1. インストールが簡単。これには、ユーザーがアプリケーションのインストールとは別に実行する必要がある別の「インストーラー」がないことも含まれます。これが、埋め込みデータベースが必要だと最初に信じさせた理由ですが、インストーラー内にデータベースのインストールを含めるには、いくつかの巧妙な方法があると思います。

  1. 壊れにくい。ここでの最大の要望は、セキュリティ上の懸念 (または、人々のシステム構成がアプリケーションを壊す可能性を減らすもの) のために、TCP/IP の代わりに名前付きパイプで動作できるようにすることです。アプリケーションは常に同じマシンで実行されます。彼らは同じデータベースを共有する必要があるため、ファイアウォール/セキュリティ/「スマート ユーザー」が関与すると、TCP/IP を使用すると問題が発生する可能性があります。

  2. データベースで長時間実行される操作によって、他のユーザーによるデータベースへの読み取り/書き込みが妨げられるべきではありません。この要件を処理し、まだ Sqlite を使用するコードを書くことを考えましたが、さらに宿題をすることにしました。

  3. ライセンス: ロイヤリティ フリーで再配布できるものが必要です。エンド ユーザーが、依存するデータベース用に個別のライセンスを購入する必要はありません。

  4. サイズの制限: これらのデータベースにはかなりの量のデータを保存する予定であり、任意の制限は受け入れられません。オペレーティング システムによって課されるファイル サイズの制限を受け入れます。SQLite のサイズ制限 (Windows マシンのファイルのサイズ制限) は 2 テラバイトを超えていました。

  5. あると便利: Entity Framework を使用できること。

  6. あると便利: リレーショナル データベース。サードパーティのアプリケーションがデータベースを読み取ることを許可する場合がありますが、それがドキュメント データベースやオブジェクト データベースではなくリレーショナルであっても問題ありません。ただし、すべての要件を満たすものを求めて、これを喜んで受け入れます.

これまでに調べたデータベース: RavenDB SQLite CubeSQLite SQL CE

Oracle と Microsoft SQL Server はライセンスされており、再配布が困難です。

これらの要件が非常に制限的であることを理解しています。すぐに使用できるソリューションがあるかどうかもわかりません。どなたでもご協力いただければ幸いです。

4

2 に答える 2

3

SQL ServerCE4.0を使用する必要があります。

  • xcopyの展開
  • 暗号化をサポート
  • 自由に配布可能
  • マルチヘッド(この場合はマルチプロセス)をサポートするバージョン4.0以降のみ
  • 4Gbスペースをサポート
  • EFをサポート(CodeFirstでも)
  • リレーショナルであり、SQLServerT-SQLのサブセットをサポートします

ライセンスが必要であるという誤った誤解があります。

Microsoft SQL Server Compact 4.0は、ソフトウェア開発者がASP.NETWebサイトおよびWindowsデスクトップアプリケーションの構築に使用できる無料の組み込みデータベースです。SQL Server Compact 4.0はフットプリントが小さく、アプリケーションフォルダー内でのバイナリのプライベート展開、Visual StudioおよびWebMatrixでの簡単なアプリケーション開発、およびSQLServerへのスキーマとデータのシームレスな移行をサポートします。

Microsoft SQL Server Compact 4.0から(MSダウンロード)

4Gbで十分でない場合を除いて、使用できます。

SQL Server Expressも無料で、制限は少ないですが、インストールが必要です。

SQLCEとSQLServerの主な違いは、CEがSotredプロシージャをサポートしていないことです。しかし、EFを使用する場合、それはまったく問題ではありません。

ライセンスに関する追加情報を編集します。

SQL Server Compact 4.0は、再配布ライセンス契約に基づいて自由に再配布できます。SQLServer Compact 4.0を再配布するアプリケーション開発者は、オプションでSQLServerCompact再配布サイトに登録できます。登録すると、開発者は、クライアントのインストールにさらに適用できるSQLServerCompactの重要なセキュリティパッチとホットフィックスに関する情報を入手できます。

ダウンロードページの下部にあります

于 2012-05-07T17:16:22.080 に答える