5

私は現在、一定期間にわたって大量のデータを取り込むプロジェクトに取り組んでいます。現在、ソフトウェアが展開されるネットワーク上のどのデータベース エンジンにもアクセスできません。そのため、私は XML データセットを扱っており、MVC タイプのフレームワークを採用しています。私が最初に XML を選んだのは、XML がデータベースのリレーショナル設計をある程度模倣できるからです。シングルトンにデータを保存し、win フォームはシングルトン内のオブジェクトを介してデータにアクセスしますが、win フォームは基になるデータ構造を直接認識していません。

私のソフトウェアが展開される PC は XP コンピューターであり、インターネットに接続されていないため、.NET 4.0 をダウンロードするアクセス権がないため、.NET 3.5 を使用しています。LINQ to XML オブジェクトを使用して XML にアクセスし、データ アクセス レイヤーのプロパティとメソッドを介してアクセスできるオブジェクトとコレクションに要素/属性値を格納しています。

私の主な懸念は、XML ファイルが大きくなるにつれて、オーバーヘッドが過度に煩雑になる可能性があることです。データベース サーバーをセットアップする以外に、XML よりも優れたデータ ストレージ システムを使用できますか? 達成しようとしていることに対応するために、データがリレーショナル形式に従う必要があります。delimited/csv 形式の使用を検討しましたが、これらはプロジェクトの要件を満たしていません。

編集: このデータソースはアプリケーションに埋め込むことができず、複数のアプリケーションがデータソースにアクセスします。使用されるアプリケーションは 2 つあります。データを管理する「ホスト」アプリケーションと、データ収集に使用される「クライアント」アプリケーションです。「クライアント」アプリケーションは、LAN 上の複数のワークステーションに複数のインスタンスを持ちます。

4

3 に答える 3

3

SQL Server Express LocalDB は SQL サーバーの組み込みバージョンですが、それを実行するマシン上にファイルのみが必要です。これは良いオプションかもしれません。XML よりも小さく、高速で、操作が簡単で、実際の SQL サーバーと同じ構文と同様のパフォーマンスを持ち、インストールせずに組み込みの .Net SQL ライブラリと機能をすべて使用できます。サードパーティのデータ ストア。

複数のアプリを同じ DB ファイルに接続して、SQL サーバーの ACID 機能を取得することもできます。

http://www.microsoft.com/sqlserver/en/us/editions/2012-editions/express.aspx

http://blogs.msdn.com/b/sqlexpress/archive/2011/07/12/introducing-localdb-a-better-sql-express.aspx

于 2012-11-28T15:43:53.483 に答える
2

ファイル サイズが主な関心事である場合は、ファイルを圧縮してディスク上でファイルを小さく保つことができます。.NET 3.5 には、いくつかの圧縮アルゴリズムが組み込まれています。XML は非常に反復的なテキストであり、非常によく圧縮されます。データを多くのファイルに自由に分割できる場合は、その数もサイズを抑えるのに役立ちます。

于 2012-11-28T15:28:45.297 に答える
1

JSON は XML より軽量です。リレーショナルな方法で使用できるかどうかについては、何をしようとしているのかによって異なります。ここでは、JSON のいくつかのリレーショナル使用について説明します。

JSON をリレーショナル SQL データベースのように使用する (Javascript)

于 2012-11-28T15:29:09.813 に答える