0

外部ソースからテーブル(学生テーブルにとどまることができます)の毎日のダンプを取得しています。テーブルが切り捨てられ、新しいデータで更新される間のダウンタイムを減らすために、このテーブルの 2 つのコピー (students_1 と students_2) を維持することを計画しています。これらは両方とも、毎日交互に生徒モデルにマッピングする必要があります。したがって、今日、students_1 のデータを使用している場合、明日、students_2 にデータが入力されたら、そのデータにシームレスに切り替える必要があります。

だから私の質問は1)このアプローチで十分ですか、それとももっと良いアプローチがありますか?2) ホット スワップ テーブルの場合、現在使用されているテーブルを示すファイルを維持し、この特定のファイルを読み取るメソッドを介して set_table_name を維持しても問題ありませんか? よりエレガントなソリューションはありますか?

4

1 に答える 1

0

データ読み込み戦略の一部としてそれを行うことができます。テーブル名の保存や非標準のテーブル名の使用を混乱させることはありません。データの読み込みが完了したら、代わりにテーブルの名前変更コマンドを実行します。これはアトミックに行われ、アプリを中断するべきではありません。

RENAME TABLE students TO students_secondary_temp, students_secondary TO students, students_secondary_temp TO students_secondary;
于 2012-10-02T01:46:03.257 に答える