2013-06-10 7 views
6

を動作しない:私はしかし、発見していないRDS MySQLのデータ - STD CLIは、私は次のことを検討precidentを確立するには

  • Amazon-RDS database to Dedicated server
  • Mysqldump of the AWS RDS
  • とその中の補助的なファクトイドのみの私の問題に対する明確な解決策 - 私は の包括的な具体的なガイドをAWS RDSの中または周辺にデータを移動することにしたいと思っていました。

    私はRDSと連携DBAのコンサルタントとPercona MySQLのパフォーマンス会議 での議論を持っていた、彼は、次のことを示唆し 、これは頻繁に明らかに問題である - 私はみんなを助けるための努力に追加 入力を望んでいました。

**これは、大規模なMySQLのコンサルティング会社との話で挙手の数に応じてRDSユーザーのために重要である。**

  • 目標#1。 RDSインスタンスからデータを取り出す - RDS内のメジャーリリース間を移動することはできません。 - PerconaなどのEC2インスタンスに持って行きたいかもしれません。
  • ウィッシュリストGoal#1a。 2番目に、可能であればデータをクリーンアップ/ QAします。
  • ゴール#3 - もう1つの小さなRDS、または他の フレーバー/プラットフォームにデータを戻します。

事実は:

  1. 私は、MySQL 5.5.x(< 5.5.8)で大(主にUTF-8で40〜50ギガバイトのデータセット、いくつかのラテン1)を持っています。 1a。何らかの理由で古い管理者がインスタンスサイズを1000GBの専用ストレージに設定しました。 (?)。
  2. すべてのテーブルは、明らかにInnoDBです。カップルテーブルは約14GBです。それは別の問題です。
  3. マルチエンコードが存在する可能性があります。おそらくUTF8。ラテン語-1とスウェーデン語fkafkakfk?

    オプションA:

は、だから、これらは私が進めて議論していますオプションですストレート.SQLダンプ。 .sql reload

  1. ダンプ、SQL標準実行可能ファイルのスキーマとテーブルなどのマス、リロード。
  2. **ので、移植性のためのラテン-1をthininkingた: mysqldump -u username -p --default-character-set=latin1 -N database > backup.sql mysql -u username -p --default-character-set=latin1 database < backup.sql**

質問RE:オプションA: - 提案再:チャンキングのためのコード、整合性上記とそうでありませんスムーズなダンプとリロードを保証しますか?変数エンコードとshow information schemaのための偶発

オプションB(latin1のができないものを処理するためのアルゴリズム?):テーブルの個々のASCIIファイルダンプスキーマ+ QA /スキーマの洗練/ W

  1. ダンプこれらのデータを、おそらくデータQAの塊でそれぞれのテーブルに分割してください。

    出力TSV DATAに以下とSCHEMAを続行します:

    mysqldump --user=dbuser --password --tab=~/output/dir dbname

  2. 第二に、可能な誤ったジャンク文字をクリーンアップするためにいくつかのperl/pythonのを介して実行。エンコードの問題。 8年間の5種類のDBAと約12種類の異なるデータ入力形式/ファイル形式から、

質問RE:オプションB:

  • 私のデータは、データに該当するガベージ文字をたくさん持っています。最高のデリートパイプ?
  • TSVなどからAWS RDSにロードする際に、基本的なダンプや、データ読み込み用ホワイトペーパーに掲載されているものを超えた提案など、非常に重大なエラーがありましたか?

答えて

0

ETLツールを使用してデータを移動するオプションCを強くお勧めします。私はPentaho Data Integrationのコミュニティ版を使って、あなたが求めているようなこと(特にクリーンアップ)をうまくやっています。シンプルなダンプや読み込みよりも多くの作業がありますが、非常に優れた制御があり、後で同期を再開するなどの作業を行うことができます。

関連する問題