DB2テーブルの行をMarklogicにロードできるXMLドキュメントのコレクションにすばやく変換するツールはありますか?
3 に答える
DB2 は、SQL:2003 で導入された SQL/XML パブリッシング拡張機能をサポートしています。これらの関数には、XMLSERIALIZE、XMLELEMENT、XMLATTRIBUTE、および XMLFOREST が含まれ、SQL SELECT ステートメントに簡単に追加して、結果セットの各行に対して単純で整形式の XML ドキュメントを生成できます。DB2 のカタログ ビューからテーブル名と列レイアウトを取得するクエリを作成することにより、多数のテーブルに対する XML パブリッシング SELECT ステートメントの作成を自動化できます。
これを行う 1 つの方法は、MLSQL ツールキット ( http://developer.marklogic.com/code/mlsql ) を使用することです。MarkLogic の XQuery コード内からリレーショナル データベースにアクセスできます。返されたデータが実際にどのように見えるかはわかりませんが、XQuery 内で簡単に処理でき、データを XML として MarkLogic に挿入できます。
1 つのステートメントで 100 万件のレコードをロードしようとするのではなく、一度に 1000 件のレコードのバッチを生成するようにしてください。スポーンも複数のスレッドで処理できるようになるため、その理由でも高速になるはずです..
チッ!
DB2 から MarkLogicにストリーミングする必要がありますか? または、一時的にすべての文書を中間ファイルシステムにダンプしてから、それらを読み込むことができますか? ダンプできる場合は、DB2 ツール (上記の @Fred の回答など) を使用して行をファイルシステム内の一連の XML ドキュメントにエクスポートし、XML ファイルでいっぱいのディレクトリを MarkLogic に読み込む多くの方法のいずれかを使用します ( Information Studio (UI または API)、RecordLoader など)。
それらを仲介としてファイルシステムに保存したくない場合は、各行を取り出してドキュメントを MarkLogic に挿入する MarkLogic 用の InformationStudio プラグインを作成できます。DB2 からドキュメント データを抽出するためにプラグインが呼び出すことができる Web サービスまたは残りのエンドポイントが必要です。
または、テーブルの行ごとにいくつかのコードを実行できる DB2 ツール (@Fred で説明) を使用できると思います。Java (または .Net) でそれを実行できる場合は、MarkLogic XCC API を取り込んで、ドキュメントを MarkLogic に書き込むことができるようにします。