本日 Microsoft は、Azure SQL Database ハイパースケールのパブリック プレビューが公開予定であることを発表しました。SQL Database ハイパースケールは、SQL ベースの高いスケーラビリティを備えた新しいサービス レベルです。ワークロードのニーズにオンデマンドで適応する単一データベース向けに提供されます。SQL Database ハイパースケールでは、100 TB を上限としてデータベースをすばやく自動でスケールアップできます。ストレージ リソースを事前にプロビジョニングする必要はありません。ストレージ サイズの制約を受けずに、アプリの拡張性を飛躍的に高めることができます。このパブリック プレビューは、2018 年 10 月 1 日に提供が開始されます。
現在の Azure SQL Database サービス レベルに加え、ハイパースケールには次の機能が備わっています。
- 最大 100 TB のデータベース サイズをサポート
- データベース サイズを問わない迅速なスケールアップ/スケールダウンとポイントインタイム リストア
- 現在のサービス レベルよりも高いログ スループット
- 読み取りスケール レプリカによる読み取り専用ワークロードのスケールアウト (データのコピーが不要)
Azure SQL Database ハイパースケールは、コンピューティングとログとストレージとを分離する、クラウド生まれの新しいアーキテクチャです。
コンピューティング ノード
コンピューティング ノードは一見、従来の SQL Server と同じように見えますが、ローカル データ ファイルやログ ファイルは存在しません。プライマリ コンピューティング ノードは、トランザクション ログをログ サービスに書き込み、データ ページがローカル データ キャッシュまたは RBPEX (Resilient Buffer Pool Extension) に見つからなければ、それをページ サーバーからフェッチします。
ログ サービス
トランザクション ログは、ログ サービスによってハイパースケール データベースから切り離されます。ログは、プライマリ コンピューティング インスタンスによってログ サービスに書き込まれます。ページ サーバーとセカンダリ コンピューティング インスタンスは、ログ サービスからログを取り込みます。ログ レコードは、ポイントインタイム リストアに対応するために、ログ サービスによって、より低コストの長期ストレージにオフロードされます。
ページ サーバー
データ ファイルは、ページ サーバーによってホストされ、管理されます。このサーバーがログ ストリームをログ サービスから取り出して、ログ ストリームに記述されているデータ変更をデータ ファイルに適用します。コンピューティングのローカル データ キャッシュにも RBPEX にも見つからないデータ ページの読み取り要求は、ネットワークを介して、そのページを所有するページ サーバーに送られます。ページ サーバーでは、データ ファイルが Azure Storage に永続的に保持され、RBPEX を通じて大量にキャッシュされます。
大きなデータベースでは、ページ サーバーが複数作成されます。データベースが大きくなっていき、既存のページ サーバーの空き領域がしきい値を下回ると、新しいページ サーバーがデータベースに自動的に追加されます。ページ サーバーは単独で動作するので、ローカル リソースの制約は受けず、データベースのサイズが大きくなってもかまいません。
自動バックアップとポイントイン タイム リストア
ハイパースケール データベースでは、従来のストリーミング バックアップに代わり、データ ファイルのスナップショットがページ サーバーから定期的に取得されます。そのため、きわめて大きなデータベースでも、わずか数秒でバックアップすることができます。リテンション期間内 (パブリック プレビューでは 7 日) であれば、ログ サービスに格納されているログ レコードと共に、データベースを任意の時点に復元できます。データベースのサイズにかかわらず、復元はごく短時間で完了します。
SQL Database ハイパースケールによってスケーラビリティが新たなレベルに到達したことを嬉しく思います。 10 月 1 日以降、ハイパースケール データベースを 12 の Azure リージョンで作成できます。詳しくは、Azure SQL Database のドキュメントをご覧ください。