データベースのシャーディングを自動運用してくれる「Azure SQL Database Elastic Scale」が公開

2014年10月6日

データを分割して複数のデータベースサーバで分散処理することで高いスケーラビリティを実現する手法「シャーディング」が、Microsoft Azureの新機能「Azure SQL Database Elastic Scale」としてプレビュー公開されました。

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つから構成されています。

fig

クライアントライブラリではシャードのマッピングを定義、管理できます。シャードは特定のキーの範囲、あるいはリストによって指定。どのシャードがどのデータベースサーバにマップされているかはこのライブラリがバックエンドに問い合わせて処理してくれ、また必要に応じてマッピングの状況をキャッシュしてくれます。

マネージドサービスでは、シャードとデータベースサーバのマッピングを行い、その情報をシャードマップマネージャが管理。負荷に応じてシャードの分割やマージを動的に行ってくれます。

fig

これまでMicrosoft AzureではSQL Azure Federationと呼ばれる機能でテーブルのパーティショニングによる分散処理を提供してきましたが、この機能は1年後の2015年9月に終了が予定されており、このAzure SQL Data Elastic Scaleへのマイグレーションツールも合わせて公開されています。

Azure SQL Database Elastic Scaleは、大規模なOLTPや大量のユーザーが利用するマルチテナントのクラウドサービス、データが増大し続けるような大規模データベースなどの用途に向いていると説明されています。

あわせて読みたい

Microsoft Azure クラウド DBaaS




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本