0

外部キー属性に基づいてパーティション分割する必要があるテーブルが DB にあります。したがって、分割されたテーブルの数は、外部キーに存在するさまざまな値の数と同じです。

編集:マスターのテーブルが4つのスレーブサーバーに複製されるレプリケーションセットアップがあります。スレーブは、図に示すように、マスター サーバーのテーブル全体を複製する必要はなく、そのパーティションのみを複製する必要があります。どうすればこれを達成できますか?

画像: パーティションの複製

4

1 に答える 1

0

何をどのデバイスに送る必要があるかに基づいて、データを個別のテーブルまたは個別のデータベースに分割します。次に、3 つの層があります。

マスター -> リレー -> デバイス

各リレーは、(マスターに対して) スレーブであり、1 つ (または複数) のデバイスに対してマスターです。リレーでは、デバイスに移動したくないテーブルが宣言されていENGINE=BLACKHOLEます。Relay 内の他のテーブルは通常どおり宣言されます。

リレーはマスターと同じサーバー上にある可能性がありますが、それぞれに別のポート (3306 以外) を持つ別の mysqld インスタンスが必要になります。特にリレーはデータのサブセットをハンドオフする以外に何もしていないため、オーバーヘッドはかなり小さくなります。

編集(画像に基づく)

スレーブのスペースを制限するには、スレーブで「replicate_do/ignore」コマンドを使用します。これにより、マスターからスレーブへの帯域幅が減少することはありません。その後、replicate_* 設定によって、レプリケートされたデータのほとんどが破棄されます。

帯域幅をスレーブに制限する必要がある場合は、上記のリレーとブラックホールを導入します。

于 2016-06-09T01:06:12.710 に答える