私は現在、一定期間にわたって大量のデータを取り込むプロジェクトに取り組んでいます。現在、ソフトウェアが展開されるネットワーク上のどのデータベース エンジンにもアクセスできません。そのため、私は XML データセットを扱っており、MVC タイプのフレームワークを採用しています。私が最初に XML を選んだのは、XML がデータベースのリレーショナル設計をある程度模倣できるからです。シングルトンにデータを保存し、win フォームはシングルトン内のオブジェクトを介してデータにアクセスしますが、win フォームは基になるデータ構造を直接認識していません。
私のソフトウェアが展開される PC は XP コンピューターであり、インターネットに接続されていないため、.NET 4.0 をダウンロードするアクセス権がないため、.NET 3.5 を使用しています。LINQ to XML オブジェクトを使用して XML にアクセスし、データ アクセス レイヤーのプロパティとメソッドを介してアクセスできるオブジェクトとコレクションに要素/属性値を格納しています。
私の主な懸念は、XML ファイルが大きくなるにつれて、オーバーヘッドが過度に煩雑になる可能性があることです。データベース サーバーをセットアップする以外に、XML よりも優れたデータ ストレージ システムを使用できますか? 達成しようとしていることに対応するために、データがリレーショナル形式に従う必要があります。delimited/csv 形式の使用を検討しましたが、これらはプロジェクトの要件を満たしていません。
編集: このデータソースはアプリケーションに埋め込むことができず、複数のアプリケーションがデータソースにアクセスします。使用されるアプリケーションは 2 つあります。データを管理する「ホスト」アプリケーションと、データ収集に使用される「クライアント」アプリケーションです。「クライアント」アプリケーションは、LAN 上の複数のワークステーションに複数のインスタンスを持ちます。