データベースのシャーディングを自動運用してくれる「Azure SQL Database Elastic Scale」が公開
データを分割して複数のデータベースサーバで分散処理することで高いスケーラビリティを実現する手法「シャーディング」が、Microsoft Azureの新機能「Azure SQL Database Elastic Scale」としてプレビュー公開されました。
シャーディングの処理は一般に、データの分割方法や分割したシャードごとのデータベースサーバの割り当て、データベースサーバに割り当てた後で負荷に偏りが出た場合のシャードの再分割やマージなど、さまざまな複雑な処理と運用を自前で行わなければならず、手間の掛かる手法の1つでした。
Azure SQL Database Elastic Scaleは、こうしたシャードの管理や負荷に応じた分割やマージといった運用を自動的に行ってくれると同時に、シャーディングを利用するためのライブラリも提供。Azure SQL Database Elastic Scaleに対応した開発を容易にしつつ、手間の掛からない運用で、大規模なデータベースや高い負荷がデータベースに集中する処理などをMicrosoft Azureクラウド上で実現します。
データベースのスケールアウト、スケールインも自動管理
Azure SQL Database Elastic Scaleは、シャーディングに対応したAzure SQL Serverのマネージドサービスと、クライアントライブラリの2つから構成されています。
クライアントライブラリではシャードのマッピングを定義、管理できます。シャードは特定のキーの範囲、あるいはリストによって指定。どのシャードがどのデータベースサーバにマップされているかはこのライブラリがバックエンドに問い合わせて処理してくれ、また必要に応じてマッピングの状況をキャッシュしてくれます。
マネージドサービスでは、シャードとデータベースサーバのマッピングを行い、その情報をシャードマップマネージャが管理。負荷に応じてシャードの分割やマージを動的に行ってくれます。
これまでMicrosoft AzureではSQL Azure Federationと呼ばれる機能でテーブルのパーティショニングによる分散処理を提供してきましたが、この機能は1年後の2015年9月に終了が予定されており、このAzure SQL Data Elastic Scaleへのマイグレーションツールも合わせて公開されています。
Azure SQL Database Elastic Scaleは、大規模なOLTPや大量のユーザーが利用するマルチテナントのクラウドサービス、データが増大し続けるような大規模データベースなどの用途に向いていると説明されています。
あわせて読みたい
次期Windows Serverの新機能、ローリングアップデート、SDN対応、レプリケーション強化など
≪前の記事
2014年9月の人気記事「米Yahoo!がYUI新規開発を中止」「アップルの新言語Swiftがバージョン1.0到達」「マイクロサービスの前提条件」ほか