米Amazon Web Servicesは2017年11月29日(米国時間)、データベース(DB)のクラウドサービスの機能を大幅に拡張した。リレーショナルDB(RDB)サービスの「Amazon Aurora」でデータセンターをまたいだマルチマスター構成を可能にしたほか、グラフDBのサービスである「Amazon Neptune」を加えた。

 DBクラウドの機能強化は米ラスベガスで開催中の年次カンファレンス「AWS re:Invent」で、同日に実施したAWSのアンディ・ジャシーCEO(最高経営責任者)による基調講演で発表した(写真1)。

写真1 AWSのアンディ・ジャシーCEO(最高経営責任者)
写真1 AWSのアンディ・ジャシーCEO(最高経営責任者)

 「MySQL」や「PostgreSQL」の互換DBをサービスとして提供するAmazon Auroraに関しては、マルチマスター構成を実現する「Aurora Multi-Master」と、Auroraの処理性能を自動的に伸縮できる「Aurora Serverless」という二つの機能を追加した。

AZや大陸横断の災害対策を実現

 Amazon Auroraはこれまでも、DBのレプリカ(複製)を異なるAZ(Availability Zone)やリージョンにまたがって作成することで、障害に備えたり、DBからの読み込みを高速にしたりすることが可能だった。しかし、従来の複製は「リードレプリカ」であり、書き込みができなかった。このためマスターDBがダウンすると、DBの更新を継続できなかった。

 これに対してAurora Multi-Masterでは、複製したDBもマスター扱いになる。マスターDBがダウンしたとしても、他のDBを使って更新を継続できる。マルチマスター構成は当初、AZをまたいで実現でき、2018年以降にはリージョンをまたいだマルチマスター構成も可能になる。リージョンが丸ごとダウンしたような場合であっても更新を継続できるため、システムの可用性が大きく高まる。

 NoSQL DBの「DynamoDB」でも、リージョンをまたいだマルチマスター構成を実現する「Global Tables」という機能を搭載した。自動バックアップサービス「DynamoDB Backup and Restore」も追加している。

 リージョンをまたいだDBのマルチマスター構成は、米Googleの分散RDBサービス「Cloud Spanner」や米MicrosoftのDBサービス「Azure Cosmos DB」なども実現済み。クラウドのDBサービスは「惑星規模のスケーラビリティー(拡張性)」を持つのが「当たり前」になったといえそうだ。

 一方、Aurora Serverlessは、イベントドリブンでAuroraのDBを起動したり、システムの負荷に応じてAurora DBの処理性能を伸縮させたりできるようになる機能である。従来はシステムの負荷を予測して、負荷にふさわしいハードウエア構成でAurora DBを運用する必要があった。

 これに対してAurora Serverlessでは、普段はDBをオフにしてリクエストが発生したときにだけ起動するといった利用や、負荷を一切見積もらずにDBを準備するといったことが可能になる。DBコスト(課金)を節約したり、運用の手間を削減したりできる。サービスの提供は2018年に開始する予定だ。

スケーラブルなグラフDBを実現

 Amazon Neptuneは、AWSが独自のグラフDBエンジンを開発することで実現したサービスとなる。同日からプレビュー版のサービスを開始した。グラフDBは、階層構造やメッシュ構造などの「グラフ構造」を持つデータを高速に検索したり処理したりするのに向いたDBである。人と人のつながりを表す「ソーシャルグラフ」などが、グラフ構造のデータの代表例だ。

 グラフの表現やクエリーを記述する手段としては、グラフ探索言語の「Gremlin」とRDF(Resource Description Framework)クエリー言語の「SPARQL」に対応する。ジャシーCEOは基調講演で「既存のグラフDBは高価で、スケールさせるのも難しかった」と語る。これに対してAmazon Neptuneは、異なるAZにまたがってリードレプリカを配置できるなど、Amazon Aurora並みの高いスケーラビリティーを持つ。

 AWSはこれで拡張性の高いDBクラウドサービスとして、RDBのAurora、NoSQLのDynamoDB、グラフDBのNeptuneの三つを提供することになる。

 CEOは基調講演で「AWSがインフラストラクチャーサービスとして顧客に選択されるのは、機能が豊富だからだ」と何度も強調。DBに関しても機能の豊富さで勝負する方針を改めて強調した。