読み取り負荷が高く、スケールアウトを検討中のワークロードがある場合は、すべての Azure Database for MySQL ユーザー向けに一般提供が開始された読み取りレプリカを使用できます。読み取りレプリカを使用すると、簡単に単一データベース サーバーを超えて水平方向にスケールアウトできます。これは、書き込みよりも読み取り操作が多くなる傾向がある、BI レポートや Web アプリなどのワークロードに便利です。
この機能では、1 つの Azure Database for MySQL サーバー ("マスター" サーバー) のデータを同じリージョン内の最大 5 つの Azure Database for MySQL サーバー ("読み取りレプリカ" サーバー) に非同期で連続的にレプリケートできます。好みに応じて、読み取り負荷の高いワークロードをレプリカ サーバー間で分散できます。レプリカ サーバーは、マスターでのデータ変更からレプリケートされた書き込みを除いて読み取り専用です。
読み取りレプリカでサポートされる内容
レプリカ サーバーは、ワークロードのニーズに基づいて作成したり削除したりできます。1 つのマスター サーバーは、同じ Azure リージョン内で最大 5 つのレプリカ サーバーをサポートできます。いずれかのレプリカ サーバーへのレプリケーションを停止すると、そのレプリカ サーバーはスタンドアロンの読み取り/書き込みサーバーになります。
レプリカ サーバーは、Azure portal および Azure CLI を使用して簡単に管理することができます。
Azure portal を使用する場合:
Azure Monitor の "レプリケーションのラグ (秒単位)" メトリックを使用したレプリケーションの追跡:
Azure CLI を使用する場合:
az mysql server replica create -n mydemoreplica1 -g myresourcegroup -s mydemomaster
ワークロードのスケーリングに読み取りレプリカを活用しているお客様やパートナーが使用しているアプリケーション パターンを、いくつか以下に示します。
BI レポート
さまざまなデータ ソースのデータが数分ごとに処理され、マスター サーバーに読み込まれます。マスター サーバーは読み込みおよび処理専用であり、パフォーマンスを確実に予測できるよう、レポートや分析用として BI ユーザーに直接公開されることはありません。レポート作成ワークロードは、高いユーザー コンカレンシーを低遅延で管理できるように、複数の読み取りレプリカにスケールアウトされます。
マイクロサービス
このアーキテクチャ パターンでは、アプリケーションが複数のマイクロサービスに分割され、データ変更 API がマスター サーバーに接続される一方、レポート API は読み取りレプリカに接続されます。データ変更 API にはプレフィックス "Set-" が付加され、レポート API にはプレフィックス "Get-" が付加されます。ロード バランサーを使用して、API プレフィックスに基づいてルーティングが行われます。
次の手順
- サービスの利用を開始するには、Azure portal または Azure CLI を使用して、最初の Azure Database for MySQL サーバーを作成します。
- 読み取りレプリカの詳細および Azure portal または Azure CLI でそれらを作成する方法をご確認ください。
- Microsoft のチームへのお問い合わせは、電子メール (AskAzureDBforMySQL@service.microsoft.com) でお寄せください。
- 機能に関するご要望は、UserVoice までお寄せください。
- 最新機能については、Twitter (@AzureDBMySQL) でご確認ください。