web-dev-qa-db-ja.com

SQLダンプからMongoDBにインポートする方法は?

MySQL dump _.sql_ファイルからデータをインポートしてMongoDBにインポートしようとしています。しかし、RDBMSからNoSQLへのデータ移行のメカニズムはわかりませんでした。
データを_JSON and CSV_に変換しようとしましたが、MongoDBで目的の出力が得られません。
_Apache Sqoop_を試してみようと思いましたが、ほとんどの場合、SQLまたはNoSQLがHadoopに対応しています。
データを「MySQL」から「MongoDB」に移行する方法を理解できませんでしたか?
今までやってきたこと以外に何か考えはありますか?
このタイプの移行のためのより良い、より速い解決策を聞きたいと思っています。

7
Jaffer Wilson

MysqlデータをCSVファイルにダンプすることをお勧めします。他のファイル形式を試すこともできますが、MongoDBとMysqlの両方でCSVファイル形式を非常にうまくサポートできるように、ファイル形式がわかりやすいことを確認してください。

mysqldump または [〜#〜] outfile [〜#〜] キーワードを使用して、バックアップ用にMysqlデータベースをダンプすることができます。mysqldumpの使用には時間がかかる可能性があるため、 大規模なデータベースのmysqldumpを最適化するにはどうすればよいですか? を見てください。

次に、 mongoimport ツールを使用してデータをインポートします。

私の知る限り、このインポートを最適化する方法は3つあります。

  • mongoimport --numInsertionWorkers N複数の挿入ワーカーを開始します。Nはコアの数です。

  • mongod --njournal継続的なディスク使用量のほとんどはジャーナルから発生するため、ジャーナルを無効にすることは最適化の良い方法かもしれません。

  • ファイルを分割して、並列ジョブを開始します。

実際、私の意見では、データのインポートとエクスポートは難しくありません。データセットは大きいようです。したがって、ドキュメント構造を設計しないと、コードが遅くなりますリレーショナルデータベースからMongoDBへの自動移行を行うことはお勧めしません。データベースのパフォーマンスが良くない可能性があります。

したがって、データ構造を設計する価値があります。 データモデル を確認できます。

お役に立てれば。

4
McGrady

Mongify を使用できます。これは、SQLベースのシステムからMongoDBにデータを移動/移行するのに役立ちます。 MySQL、PostgreSQL、SQLite、Oracle、SQLServer、およびDB2をサポートします。

前提条件としてRubyrubygemsが必要です。 mongifyをインストールして構成するには、これを参照してください ドキュメント

1
franklinsijo