MySQL
dump _.sql
_ファイルからデータをインポートしてMongoDBにインポートしようとしています。しかし、RDBMSからNoSQLへのデータ移行のメカニズムはわかりませんでした。
データを_JSON and CSV
_に変換しようとしましたが、MongoDBで目的の出力が得られません。
_Apache Sqoop
_を試してみようと思いましたが、ほとんどの場合、SQLまたはNoSQLがHadoopに対応しています。
データを「MySQL」から「MongoDB」に移行する方法を理解できませんでしたか?
今までやってきたこと以外に何か考えはありますか?
このタイプの移行のためのより良い、より速い解決策を聞きたいと思っています。
MysqlデータをCSVファイルにダンプすることをお勧めします。他のファイル形式を試すこともできますが、MongoDBとMysqlの両方でCSVファイル形式を非常にうまくサポートできるように、ファイル形式がわかりやすいことを確認してください。
mysqldump または [〜#〜] outfile [〜#〜] キーワードを使用して、バックアップ用にMysqlデータベースをダンプすることができます。mysqldumpの使用には時間がかかる可能性があるため、 大規模なデータベースのmysqldumpを最適化するにはどうすればよいですか? を見てください。
次に、 mongoimport ツールを使用してデータをインポートします。
私の知る限り、このインポートを最適化する方法は3つあります。
mongoimport --numInsertionWorkers N複数の挿入ワーカーを開始します。Nはコアの数です。
mongod --njournal継続的なディスク使用量のほとんどはジャーナルから発生するため、ジャーナルを無効にすることは最適化の良い方法かもしれません。
ファイルを分割して、並列ジョブを開始します。
実際、私の意見では、データのインポートとエクスポートは難しくありません。データセットは大きいようです。したがって、ドキュメント構造を設計しないと、コードが遅くなりますリレーショナルデータベースからMongoDBへの自動移行を行うことはお勧めしません。データベースのパフォーマンスが良くない可能性があります。
したがって、データ構造を設計する価値があります。 データモデル を確認できます。
お役に立てれば。