1

現在、800 万件のレコードを含む Oracle データベースがあり、それらを MongoDB に移動する必要があります。import コマンドを使用して JSON ファイルを使用して MongoDB にデータをインポートする方法を知っていますが、これらの問題に関してこれを達成するためのより良い方法があることを知りたいです。

  • 実行時間の制限のため、どのように処理しますか?
  • データベースは毎秒アップしているので、すべてのレコードが移動されたことを確認する計画は何ですか?
4

1 に答える 1

2

実行時間の制限により、どのように処理しますか?

JSONエクスポート/インポートでは実行しないでください。代わりに、データを読み取り、MongoDBの正しい形式に変換して、そこに挿入するスクリプトを作成する必要があります。

これにはいくつかの理由があります。

  • テーブル/コレクションは同じように整理されません。(もしそうなら、なぜMongoDBを使用しているのですか?
  • これにより、操作の進行状況を監視できます。特に、1000番目程度のエントリごとにログファイルに出力して、ある程度の進捗を取得し、障害から回復できるようにすることができます。
  • これにより、新しいMongoDBコードがテストされます。

データベースは毎秒稼働しているので、すべてのレコードが移動されたことを確認するための計画は何ですか。

ここには2つの戦略があります。

  1. 更新されたエントリを追跡し、追いつくまで新しく更新されたレコードでスクリプトを再実行します。
  2. スクリプトを実行してデータをコピーしている間に、両方のデータベースに書き込みます。次に、スクリプトとそれをすべて最新の状態にした後、MongoDBを使用するだけに切り替えることができます。

私は個人的に#2を提案します。これは、稼働時間を維持しながら管理およびテストするための最も簡単な方法です。それでも多くの作業が必要になりますが、これにより移行が可能になります。

于 2012-06-12T05:08:40.903 に答える