2

毎日約 2 億件のレコードを格納する必要がある MySQL テーブルがあります。データは、「LOAD DATA INFILE」を使用して一括アップロードするフラット ファイルで提供されます。ほとんどのデータ要素は ID であるため、テキストはあまりありません。2 億レコードで構成される 1 日分の 1 つのフラット ファイルは、約 27 GB です。

私の質問は、このすべての情報を 1 つのテーブルに保存するべきか、それとも毎日のデータを別のテーブルに分割するべきかということです。情報の分割により分析が難しくなることは間違いありませんが、MySQL が 1 か月間蓄積される 1 つのテーブルで 60 億のレコードをどれだけうまく処理できるかはわかりません。

現在、MyISAM テーブルを使用して MySQL のすぐに使えるインストールを使用しています。

(はい、長期的には Hadoop ソリューションを確立したいと考えていますが、短期的には MySQL で間に合うかどうか疑問に思っています)

ありがとう。

4

1 に答える 1

1

はい、MySQL は 1 つのテーブルに数十億行を格納できます。Maximum number of records in a MySQL database table
に対する私の回答を参照してください。

何十億もの行を含むテーブルをクエリする方法は別の問題です。テーブルに対して実行する必要があるクエリに関して、テーブルをどのように分割するかを慎重に設計する必要があることを理解した上で、Table Partitioningを調べる必要があります。

また、データを破損させたくない場合は、MyISAM を使用しないでください。InnoDB を使用します。

于 2013-11-01T06:47:18.273 に答える