0

インメモリ アプリケーション データ ストアのように、BDB XML を使用することを検討しています。定義レコードとデータ レコードを含む XML のようなデータです。データ アクセス用に quiring のような XPath を提供しています。場合によっては回避できないメモリ オーバーフローの問題が発生することを除いて (つまり、mem-overflow を回避するためだけに)、さらに処理するためにデータがまだ必要です (そのため、データを取得することはできません)。ストリームをまだ出力していません)。そのため、区切られたファイルまたは XMl ファイルを使用してデータをディスクにキャッシュし、BOOST シリアル化も試みました。そして、それは私がオンディスクキャッシング(必要な場合)を提供できるいくつかの組み込みデータベースを使用することを考えたときであり、ディスクキャッシングで暗号化されています(特定のケースでは暗号化されたXMLキャッシングをディスクにまだ行っていますが、それらはメモリオーバーフローの問題とは関係ありません)。今、私は必要です:

  • パフォーマンスの低下と信頼性がない
  • 必要なとき (またはデータセットが制限に達したとき) にメモリ内データの暗号化されたオンディスク キャッシュ
  • オンデマンドの暗号化オンディスク キャッシング
  • データ アクセスの XPath 互換性 (アクセスは、データがディスク上のメモリ内にあるかどうかを知る必要はありません)
  • ディスク上の db コンテナー (BDB XML の場合) を作成したくないのは、実行が完了した後は必要ないためです。
  • ソリューションはプラットフォームに依存しない必要があります

では、BDB XML を使用する必要がありますか? それは最も顕著なソリューションであり、C++ APIを提供します(私のアプリケーションはプラットフォームに依存しないC++です)、アクセス用にXPath 2.0を提供しました(必要です)が、ノードごとにビルドしてXMLを構築し、ノードごとにほとんどアクセスしたいですexec 中に頻繁に消去し、後で削除する必要がある明示的なオンディスク コンテナーなしで使用するには、指定されたバッファーよりも多くのメモリを使用せず、必要に応じてディスクを使用する必要があります。

4

1 に答える 1

0

いいえ。Joel の「back to Basics」コラムを確認してください。

基本的に、BDB-XML は XML を生成および使用するための優れた方法であり、XML はデータを交換するための優れた方法です。しかし、XML はメモリ内での使用を意図したものではないため、BDB-XML を考慮する必要さえありません。

于 2010-07-01T07:31:46.737 に答える