sql >> データベース >  >> RDS >> Mysql

MySQLはダウンタイムなしでデータベース全体を更新します

    これが私がすることです。ダウンタイムはゼロにはなりませんが、1秒以内に終了する可能性があります。

    実際のデータベースへのインターフェース要素のみを持つデータベースを作成します。私の場合、ビュー定義のみが含まれ、すべてのユーザークエリはこのデータベースを通過します。

    毎晩新しいデータベースを作成します。完了したら、新しいデータベースを参照するようにビュー定義を更新します。ビューを更新している間はビューを含むデータベースへのユーザーアクセスをオフにするか、すべてのビューを削除して再作成することをお勧めします。これにより、古いデータベースへの部分的なアクセスが防止されます。ビューの作成は高速であるため、これは非常に高速な操作である必要があります。

    私たちは仕事を通じてこれらすべてを行います。実際、本番ビューを変更する前に、別のデータベースでビューの作成をテストして、すべてが機能していることを確認します。

    もちろん、alter viewを使用する場合 すべてのビューで一貫性を要求する代わりに、ダウンタイムは発生せず、短時間の不整合が発生します。




    1. SQL構文にエラーがあります。 MySQLサーバーのバージョンに対応するマニュアルを確認してください

    2. Google Dataflow(Apache Beam)JdbcIOをmysqlデータベースに一括挿入

    3. current_timestamp SQLに10秒を追加する方法(Oracle)

    4. スタンドアロンMoodleをクラスター化されたデータベースのスケーラブルなセットアップに移行する方法