0

Marklogic サーバーと同じボックスにない非常に大きなファイルがあります。ファイルを同じサーバーに置くことはオプションではありません。

ファイルをデータベースにロードする最良の方法は何ですか? SAXパーサーがノードを選択してデータベースにロードできると考えています。

<a>
  <b>xxx</b>
  <b>yyy</b>
  <b>zzz</b>
</a>

したがって、上記の xml を使用して、Marklogic で .xml を含むドキュメントを作成します。次に、SAXパーサーを使用して、最初の<b>要素を取得し、の子として挿入し<a>ます。残りのすべての<b>要素について繰り返します。

それが最善のアプローチのように聞こえますか?それはパフォーマンスでしょうか?

ティア

4

3 に答える 3

2

エリックが示すように、1つの大きなドキュメントはおそらくあなたが望むものではありません。MarkLogicは、一口サイズ(数十から数百キロバイト)の多数(数千から数十億)のドキュメントで最適に動作するように設計されています。リレーショナルデータベースに精通している場合は、リレーショナル行(テーブルではない)をMarkLogicデータベースのドキュメントとほぼ同等であると考えることができます。

あなたがやろうとしていることについて、もう少し詳しく教えていただけますか?どのような種類のクエリを実行する予定ですか?あなたのデータは実際にどのように見えますか?「非常に大きい」の大きさはどれくらいですか?

于 2012-11-29T23:40:37.937 に答える
1

まず、MarkLogicにすべてのデータが含まれていると、1つのドキュメントにすべてのデータが必要になることはほとんどありません。

mlcpなどのツールを使用して、ドキュメントを分割してロードすることができます。http://developer.marklogic.com/products/mlcp、http://docs.marklogic.com/guide/ingestion、特にhttp ://docs.marklogicのmlcp(コンテンツポンプ)のビットを参照してください。 com / guide / ingestion / content-pump

于 2012-11-29T22:17:19.247 に答える
0

xmlsh の StAX スクリプト機能が役立つ場合があります。これは SAX のように解析しますが、PUSH テクノロジではなく PULL テクノロジであるためコールバックがないため、処理がはるかに簡単です。そして、完全にスクリプト化可能で、純粋な Java よりもはるかに少ないコードでありながら、ほぼ同じ速度です。

http://www.xmlsh.org/FunctionsStAX

-デビッド

于 2012-12-15T22:52:37.230 に答える