クラウド図鑑 Vol.15

概要

Microsoft Azure は、従来型のリレーショナルデータベース(RDB)から、より大規模なデータを扱えるNoSQL、そしてデータウェアハウスまでさまざまなデータベースサービスをクラウドで提供している。Microsoft SQL Serverのマネージドサービスが「SQL Database」。スキーマレスのNoSQL/KVSのマネージドサービスがAzure Storageの「テーブル ストレージ」で、さらにJSON(ジェイソン、JavaScript Object Notation)のためのNoSQLのマネージドサービスである「DocumentDB」を提供する。そしてMicrosoftが示しているようにAmazon Redshift対抗のデータウェアハウスのサービスである「SQL Data Warehouse」を2015年4月に発表し、現在はプレビューとなっている2016年7月13日から東日本、西日本を含む主要リージョンで正式に提供開始している。

SQL Databaseの設定画面
Screenshot 2015-07-30 at 08.53.12
(クリックで拡大)

URL
http://azure.microsoft.com/ja-jp/services/sql-database/
http://azure.microsoft.com/ja-jp/services/documentdb/
http://azure.microsoft.com/ja-jp/services/sql-data-warehouse/
http://azure.microsoft.com/ja-jp/services/storage/

2015年7月31日 株式会社クラウディット 中井雅也
2016年7月13日改訂

機能

Microsoft SQL Serverのマネージドサービスである「SQL Database」は、パフォーマンス/スケーラビリティ、ビジネス継続性、監査機能のクラスによって、小規模用途、および、開発・テスト用の「Basic」、ワークグループ向けの「Standard」、ミッションクリティカル用途向けの「Premium」の3つのグレードで提供され、スケールアップ、スケールダウンが可能である(従来から提供されていた「Web」と「Business」は2015年9月に廃止される予定)。組み込みのレプリカとMicrosoftがデータベース レベルで保証する包括的な 99.99%の SLAにより高可用性を提供する。アクティブな geo レプリケーションに対応しており、最大 4 つの読み取り可能なセカンダリを任意の リージョンで作成できるほか、フェールオーバーを実行するタイミングと場所を制御できる。最大 35 日のデータ バックアップから復元が可能。サービスの一環としてソフトウェア修正プログラムが自動適用され管理作業は最小化される。Elastic Database Pool と管理ツールにより複数のデータベースをグループにして一括で管理・運用が可能。データウェアハウスのサービスである「SQL Data Warehouse」 は、大量並列処理 (MPP) アーキテクチャ、SQL Server のメモリ内列ストア インデックスと高度なコスト ベースのクエリ オプティマイザーを使用して、大量データの高速な参照や分析が可能である。またリレーショナル データベースと一般的な Hadoop 形式の非リレーショナル データの両方にまたがるクエリの実効やAzure BLOB ストレージの非リレーショナル データと、リレーショナル テーブルを結合ができる。SQL Data Warehouseはマネージドサービスとして、数秒でデプロイおよび拡大・縮小できるとともに、利用者はソフトウェア更新およびメンテナンスの作業は不要であり、Azure Storage への自動バックアップも組み込まれている。
スキーマレスなNoSQL/KVSである「テーブルストレージ」ではスケールアウトは自動的に行われ、10 億個単位のデータ(エンティティ)を格納可能。Azureのストレージサービスに一貫して提供されるレプリケーションのオプションによりデータは高いレベルで保護される。もうひとつのNoSQL/KVSのマネージドサービスである「DocumentDB」はデータベース エンジン内部で JSON と JavaScript を直接ネイティブ サポートするように新たに設計されたドキュメント データベース で、SQL によるクエリとトランザクション 処理が可能である。データは自動的にバックアップされ、リージョンの障害でもデータは保護される。SSDのストレージを仕様しており、高いパフォーマンスが期待できる。

使いやすさ

いずれのデータベースサービスもコンソールから各種リソースの作成・設定・起動・終了などを行うことができる。SQL Database および SQL Data Warehouse は基本的に Microsoft SQL Server であり、開発者からは同じように扱える。またPowerShellに加えてREST API によるアクセスも可能、SQL Server対応のツールも使えると思われる。.NET、Java、PHP、Ruby など複数の言語のプログラミング ライブラリも用意されている。NoSQLのテーブルストレージやDcumentDBも各種プログラミング言語から利用できる。ドキュメントも多く用意されているが日本語化されていないものもある。

マニュアルや書籍など

Microsoftによってマニュアルやチュートリアルが用意されている。ただし日本語になっていないものもある。

拡張性

SQL Databaseは、同時要求の最大数が30までの「Basic」から、同時要求が60-200の「Standard」、さらに同時要求が200-1600の「Premium」まで、オンラインでスケールアップ、あるいは、スケールダウンが可能である。SQL Data Warehouseにおいては最大でペタバイト単位の量までリレーショナル データと非リレーショナル データを処理可能で、数秒で拡大、縮小、および一時停止できるとのこと。NoSQLのテーブルストレージとDocumentDBについては、拡張は自動的に行われる。

可用性

SQL Databaseはデータセンター内の個々のサーバーとデバイスの障害からデータベースを保護する高可用性が組み込まれている。データベース は、完全に独立した複数の物理ノードにすべてのデータの複数のコピーを保持して、ハード ドライブ、ネットワーク インターフェイス アダプター、またはサーバー全体といった個々のサーバー 物理障害による停止を回避する。常に 3 つのデータベース レプリカ (1 つのプライマリ レプリカと 2 つ以上のセカンダリ レプリカ) が実行されデータがプライマリ レプリカと 1 つのセカンダリ レプリカに書き込まれたら、トランザクションがコミットされたと見なし、プライマリ レプリカでハードウェア障害が発生した場合、Azure SQL データベース はその障害を検出し、セカンダリ レプリカにフェールオーバーする。レプリカに物理的な損失が発生した場合は、新しいレプリカが自動的に作成され、データセンターにはトランザクション全体で物理的な一貫性のあるデータのコピーが常に少なくとも 2 つ存在することになる。Basic で 7 日、Standard で 14 日、Premium で 35 日行われるの日次バックアップは、別の地理的な場所に格納されるためデータセンターレベルの障害があっても、やや時間がかかるが復旧が可能。この復旧時間を短くするためには「Standard」および「Premium」のサービスで利用ができる「ジオレプリケーション」の機能により、地理的に離れたデータセンターへのフェールオーバーによって数十秒程度の復旧時間でデータベースのサービスが再開される。
テーブルストレージにおいては、Azure Storageサービスとして一貫した、「ローカル冗長ストレージ (LRS)」による、 1 つの施設内で のデータ複製によるデータの保護、「geo 冗長ストレージ (GRS)」による、複数リージョンでのデータ複製によるリージョンレベルの障害からのデータ保護が可能。DocumentDBにおいてはデータベースは自動でバックアップされ、リージョンレベルの障害でもデータは保護される。

SLA

SQL Databaseでは Basic、Standard、または Premium エディションにおいて、 Microsoft Azure SQL Database とマイクロソフトのインターネット ゲートウェイの間で 99.99% の時間接続できることを保証する。
テーブルストレージでは、Azure StorageのSLAに準ずる。
DocumentDB では、リソースに対する操作の実行要求を 99.95% 以上の時間、正常に処理することを保証する。

自動化機能

SQL Databaseではリソースの追加や拡張など、さまざまな操作をコンソールだけでなくPowerShellおよびRest APIで操作できる。

セキュリティ

SQL Databaseではデータベースで発生するイベントの追跡とログ記録の監査が可能である。また、機密データへのアクセスを制限するために、行レベル セキュリティ (プレビュー)、動的データ マスク (プレビュー)、および 透過的データ暗号化を使用してデータベース レベルでセキュリティを強化することもできる。さらに、SQL Database は、主要な Azure コンプライアンス認定と HIPAA BAA、ISO/IEC 27001:2005、FedRAMP、および EU モデル条項といった承認の範囲の一部として、主要なクラウド監査担当者により検証されている。

データセンターの場所

Azure は、北米、南米、ヨーロッパ、日本と中国を含むアジアなど、グローバルの19  22リージョンにわたるデータセンターで稼働しており、場所を指定することができる。日本でも東日本と西日本にデータセンターがある。

実績・シェアなど

米調査会社のSynergy Research Groupの調査によれば2015年第一四半期のシェアはAWSに次いで第2位だった。フォーチュン 500 社のうち 57% を超える企業が Azure を使用しているとのこと
米Synergy Research Groupによる2016年第3四半期におけるワールドワイドのクラウドのシェアの調査結果では、IaaSではAWSが首位でシェアは45%で、2位はMicrosoft、3位Google、4位IBM、また、PaaSにおいてもAWSはシェアトップで、2位はSalesforce.com、3位Microsoft、4位IBMとなっている

エコシステム

Windowsの開発パートナー、販売パートナー、SIパートナーなどによるエコシステムが充実している。また、Microsoft のSQL Serverに対応している様々なツールが SQL Databaseのサービスでも使える可能性が高い。

価格および支払い方法

従量課金で、SQL Databaseはデータベース機能に応じて使用時間で課金され、テーブルストレージはデータ量、DocumentDBはコレクションの数で課金される。日本円での支払いも可能で、クレジットカード以外にも請求書払いも可能。最大30日間200ドル相当の無料枠が用意されている。

SQL Database の参考価格としては、Single Database ModelのBasicが0.69円/時間 (~ 510円/月)、Standardが2.07円/時間 (~ 1,530円/月)から、Premiumが63.75円/時間 (~ 47,430円/月)から。ジオレプリケーションは追加費用が発生する。テーブルストレージは最初の1TBがGBあたり¥7.14/月。DocumentDBはコレクションあたり10GBのSSDストレージでパフォーマンスレベルが250/秒で¥3.47/時間から。