2

私は LevelDB をローカル プロセスの一部として使用しています。すべてが完了すると、1000 万から 1000 万の JSON エントリが含まれます。

これらを移植可能な形式にする必要があります。理想的には、1 つ以上の csv (または行区切りの json) ファイルとして別の mongodb システムにインポートする必要があります。

node.js で db コンテンツをファイルにストリーミングする簡単なテストを行いました ( node-levelupを使用して、私のマシンでは 1,000 万ペアで約 18.5 分かかりました。かなり遅いようです。

leveldb からの迅速なダンプ/エクスポートに関する提案を探しています。

ローカル処理のストアとして mongodb を使用することを検討しました。これmongoexportははるかに高速であるためですが、書き込みの速度を上げるにはいくつかのシャードが必要になるため、セットアップのオーバーヘッドがはるかに大きくなります。

4

1 に答える 1

1

leveldb のすべてのエントリを取得する最速の方法は、node-levelup がすでにそのために行っているイテレータを使用することです。

エクスポートされたファイルを解析するためのツールがまだ必要なので、leveldb のデータ ディレクトリをエクスポートされたファイルとしてコピーすることをお勧めします。それを開いて python/ruby/... で繰り返すことができます。leveldb ラッパーを持つ任意のスクリプトです。

于 2014-02-24T07:21:21.670 に答える