約5億行のMySQLデータテーブルがあります。このデータを読み取って計算を実行する必要があり、計算されたデータ(元のデータの標準化された形式)を別のInnoDBテーブルに書き込む必要があります。
現在のセットアップは、データベースだけでなくマシンも含まれる仮想クラウドであるため、マシンとDBの接続は非常に高速です。
データに対して行われる計算(およびデータの読み取り)は非常に高速であり、このプロセス全体のボトルネックは、標準化されたデータをInnoDBテーブルに挿入することです(標準化されたデータには、長くはありませんが、いくつかの指標が含まれています。挿入が遅くなります)。
残念ながら、挿入パフォーマンスの向上に役立つinnodb_log_file_size(Amazon AWSを使用)などの特定のシステム変数を変更することはできません。
このすべてのデータをMySQLにプッシュするための最善の方法は何でしょうか。計算プロセスは単純なので、標準化されたデータを取得して任意の形式で出力するPythonスクリプトを作成できます。計算が行われるときにこのデータをその場で挿入するのは非常に遅く、時間の経過とともに遅くなります。
問題は、バルクデータをInnoDBテーブルに挿入するための(入力形式と実際のインポートの観点から)最良のプロセスは何でしょうか?