クラウド図鑑 Vol.91

概要

従来からの Azure のデータベースサービス は、Microsoft の SQL Server をベースにした「SQL Database」、データウェアハウスの「SQL Data Warehouse」、スキーマレスのNoSQL/KVSの「Table Storage」、ドキュメント型NoSQLの「DocumentDB」など自社テクノロジーによるものを中心としてきた。しかし、米国時間5月10日にシアトルで開幕した「Build」カンファレンスで、MicrosoftによるMySQLのサービス「Azure Database for MySQL」とPostgreSQLのサービス「Azure Database for PostgreSQL」のプレビュー版を発表した。これは「Microsoft Loves Linux」と言い続けているMicrosoftのオープンソースソフトウェアへの積極的な取り組みと合致したといえる。これまで、他のクラウドでは一般的なMySQL、PostgreSQLに関して、AzureにおいてはMarketplaceからサードパーティと連携して提供してきたが、今後はMicrosoftとして一貫したサービスが受けられるようになる。さらに、同時期に新しい大規模分散データベースのサービス「Azure Cosmos DB」を発表した。これはグローバル分散と水平方向への拡張性を中心に設計した新しいNoSQLのサービスで、透過的なスケーリングとあらゆる場所のユーザーへのデータ レプリケーションにより、任意の数の Azure リージョン全体でグローバル分散処理を実現できるとしている。Cosmos DBは現行のDocumentDBの後継サービスでもある。

Azure データベースサービス の設定画面
Azureのデータベースサービス
(クリックで拡大)

URL   https://azure.microsoft.com/ja-jp/services/?sort=&filter=databases

2017年5月31日 株式会社クラウディット 中井雅也

機能

2017年5月時点で、Azureのデータベース系サービスは主に6種類ある。
・SQL Serverベースのサービス「SQL Database 」
・MySQLのサービス「Azure Database for MySQL」(プレビュー)
・PostgreSQLのサービス「Azure Database for PostgreSQL」 (プレビュー)
・グローバル分散NoSQLのサービス「Azure Cosmos DB 」(プレビュー)
NoSQL/KVSのサービス「Table Storage」
・データウェアハウスのサービス「SQL Data Warehouse」

なお、従来のNoSQLのサービス「DocumentDB」は、より高機能の「Azure Cosmos DB 」に統合される。DocumentDBの顧客とデータは無償でCosmos DBに移行する計画だという。

上記のPaaS以外ではIaaSのVirtual Machine用に、Oracle Database や SQL Server のイメージが提供され、ライセンス持ち込み(BYOL)が可能。

Microsoft SQL Serverのマネージドサービスである「SQL Database」は、性能と機能のクラスによって、「Basic」、「Standard」「Premium」の3つのグレードで提供され、稼働中にスケールアップおよびスケールダウン可能。アクティブ geo レプリケーションにより、最大 4 つの読み取り可能なセカンダリ データベースを任意のリージョンに作成し、手動または自動(プレビュー機能)のフェールオーバーが可能。99.99%の SLAにより高可用性を提供。最大 35 日(Premium)のデータ バックアップから復元が可能。Elastic Database Pool と管理ツールにより複数のデータベースをグループにして一括で管理・運用が可能。

Azure Database for MySQL(プレビュー)とAzure Database for PostgreSQL(プレビュー)もSQL Database同様に、性能と機能のクラスによって、「Basic」、「Standard」「Premium」の3つのグレードで提供され、稼働中にスケールアップ可能。自動的なバックアップやパッチなどの運用タスクはMicrosoftが行う。また、SQL Database同様の高可用性と暗号化も提供される予定だ。

データウェアハウスのサービスである「SQL Data Warehouse」 は、大量並列処理 (MPP) アーキテクチャ、SQL Server のメモリ内列ストア インデックスと高度なコスト ベースのクエリ オプティマイザーを使用して、大量データの高速な参照や分析が可能である。またリレーショナル データベースと一般的な Hadoop 形式の非リレーショナル データの両方にまたがるクエリの実効やAzure BLOB ストレージの非リレーショナル データと、リレーショナル テーブルを結合ができる。マネージドサービスとして、数秒でデプロイおよび拡大・縮小できるとともに、利用者はソフトウェア更新およびメンテナンスの作業は不要であり、Azure Storage への自動バックアップも組み込まれている。

グローバル分散処理が可能なNoSQLのサービス「Azure Cosmos DB 」(プレビュー)は、高可用性、スケーラビリティ、低遅延、高いレベルのデータ整合性を提供する。KVS(Key-Value Store)やドキュメント、グラフ、カラム型といったデータ型をサポートし、「MongoDB」や「DocumentDB SQL」、「Gremlin」(プレビュー)、「Table Storage」(プレビュー)などのデータアクセスのさまざまなAPIもサポートする。5種類の整合性オプションを選択肢として提供。世界各地に存在するAzureのデータセンターに配備し、グローバルな分散データベース環境を実現し、可用性だけでなくレイテンシやスループット、一貫性に関しても99.99%のSLAを提供する。

スキーマレスなNoSQL/KVSである「Table Storage」ではスケールアウトは自動的に行われ、10 億個単位のデータ(エンティティ)を格納可能。Azureのストレージサービスに一貫して提供されるレプリケーションのオプションによりデータは高いレベルで保護される。

使いやすさ

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

マニュアルや書籍など

Microsoftによってマニュアルやチュートリアルが多数用意されている。基本的なドキュメントの多くは日本語化されている。Azureのサービスはネット上の情報も多い。

拡張性

SQL Databaseは、データベース トランザクション ユニット (DTU) によって測定されるパフォーマンスが5までの「Basic」から、10-100の「Standard」、さらに125-4000の「Premium」まで、オンラインでスケールアップ、あるいは、スケールダウンが可能である。現在プレビューのAzure Database for MySQLとAzure Database for PostgreSQLは、コンピュートユニットと呼ばれる単位で最大100までの「Basic」と最大800までの「Standard」が提供されており、オンラインでスケールアップ、あるいは、スケールダウンが可能である。

SQL Data Warehouseにおいては最大でペタバイト単位の量までリレーショナル データと非リレーショナル データを処理可能で、数秒で拡大、縮小、および一時停止できるとのこと。

Cosmos DB は、水平分割を用いたマルチモデルなグローバル分散データベース サービスで、複数リージョンのスループットやストレージをユーザーが柔軟かつ自主的にスケーリングできるように設計されている。オンライン状態のまま5秒以内にパフォーマンスのスケール変更が可能。スループットやトランザクション性能を無制限に拡張可能であるとしており、Azureポータルの地図上のクリック操作だけで、分散処理をするリージョンの選択や追加が可能。リージョンを追加している間も、サービスは停止せず、スループットも維持される。

NoSQLのTahle Storage については、拡張は自動的に行われる。

可用性

SQL Databaseは、アクティブ geo レプリケーションにより、最大 4 つの読み取り可能なセカンダリ データベースを任意のリージョンに作成し、手動または自動(プレビュー機能)のフェールオーバーが可能。99.99%の SLAにより高可用性を提供。最大 35 日(Premium)のデータ バックアップから復元が可能。
Cosmos DB はグローバルなデータセンターへのレプリケーションが可能であり、数十ヶ所あるAzureのデータセンターのレベルで冗長化が可能。また可用性だけでなくレイテンシやスループット、一貫性に関しても99.99%のSLAを提供する。
Table Storageにおいては、Azure Storageの、「ローカル冗長ストレージ (LRS)」による、 1 つの施設内で のデータ複製によるデータの保護、「geo 冗長ストレージ (GRS)」による、複数リージョンでのデータ複製によるリージョンレベルの障害からのデータ保護が可能。

SLA

SQL Databaseは99.99%のSLAを規定。Cosmos DBでは可用性だけでなくレイテンシやスループット、一貫性に関しても99.99%SLAを規定する。Table Storageでは、Azure StorageのSLAに準ずる。

自動化機能

いずれのデータベースサービスでもリソースの追加や拡張など、さまざまな操作をコンソールだけでなくPowerShellおよびRest APIから操作できる

セキュリティ

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

データセンターの場所

Azure は、北米、南米、ヨーロッパ、日本と中国を含むアジアなど、グローバルの34リージョンにわたるデータセンターで稼働しており、場所を指定することができる。日本でも東日本と西日本にデータセンターがあり、本稿でとりあげた全てのデータベースサービスが提供されている。

実績・シェアなど

データベース系のサービスだけでのシェアの数字などは見つけられないが、MicrosoftのWebサイトにおいてSQL Databaseの事例として、
・Snelstart
・GEP
・Daxko/CSI
・Umbraco
などが紹介されている。

エコシステム

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

価格および支払い方法

従量課金で、日本円での支払いも可能で、クレジットカード以外にも請求書払いも可能。

SQL Database の参考価格としては、東日本リージョンでSingle Database のBasicが0.78円/時間 ~、Standardが2.33円/時間~ 、Premiumが72.05円/時間~。Geoレプリケーションは追加費用が発生する。Table Storage は東日本リージョンで最初の1TBがGBあたり¥7.14/月〜。Azure Database for MySQLおよびAzure Database for PostgreSQLはは東日本リージョンで最小(コンピュートユニットが50)で3.2円/時間〜、Cosmos DBは格納されたデータ量 (GB 単位) と、100 RU/秒の単位で予約されたスループット (最低 400 RU/秒) に基づいて 1 時間ごとに課金され、東日本リージョンでSSDストレージのデータ量に対して28.82円/GB/月、予約済みスループット RU/秒 (100 RU ごと、最低 400 RU) で0.92円/時間。SQL Data Warehouse は100DWUのCompute処理能力に対して185.13円/時間、および、別途ストレージの料金が必要になる。