連載
» 2014年11月28日 20時00分 UPDATE

Database Watch(2014年11月版):AWSが発表したクラウドネイティブなMySQL互換DB「Amazon Aurora」 (1/2)

Amazon RDSに新たに加わったAurora。MySQL互換をうたうハイパフォーマンスのデータベースサービスを取材した。

[加山恵美,@IT]

backn2.gif

連載バックナンバー

re:Invent開催、3年目は全世界から1万3000人が参加

 2014年11月11日から4日間、Amazon Web Services(以下、AWS)はアメリカのラスベガスにて年次イベント「re:Invent」を開催しました。今回で3回目、参加者は1万3千人と、規模は年々拡大しているようです。12日の基調講演ではAWSシニアバイスプレジデント Andy Jassy氏(写真)が登壇し、AWSがクラウドサービスでは規模や技術革新のペースなどで主導的な立場であることを強調していました。

mhdb_aws_PB130291.jpg

 発表で最も目立ったのは新しいデータベースエンジン「Amazon RDS for Aurora(以下、Aurora)」でした。大ざっぱにいうとAWS版MySQLです。

 他にも「Amazon EC2 Container Service」やイベントドリブン型コンピュートサービス「AWS Lambda」、新しいEC2インスタンス「C4」、アプリケーションライフサイクル管理のための「AWS CodeDeploy」「AWS CodePipeline」「AWS CodeCommit」、暗号化の鍵管理のための「AWS Key Management Service」など盛りだくさんの発表がありましたが、本稿はDatabase Watch。読者の皆さんの関心が高いであろうAuroraにフォーカスしましょう。

MySQL互換のデータベースサービス「Amazon RDS for Aurora」

 re:Invent 2014の基調講演でJassy氏は繰り返し「ニューノーマル」という言葉を用いていました。ITにおいてクラウド、およびその代表格であるAWSを用いるのはこれからの「新しい標準」であり「新しい普通」であるという主張が込められています。

 クラウドという新しい世界を考えたとき、既存RDBMSはどのように対応できるでしょうか? 従来のRDBMSをクラウドで稼働させることは今でも可能であるものの、従来型のRDBMSの多くはクラウド環境での運用を想定していない設計であることから、課題が残っています。

 加えて、オープンソースのデータベースと商用データベースの間でコストと信頼性などでトレードオフが起きているとAWSは考えているようです。つまり、オープンソースデータベースだとコストやシンプルさ(手軽さ)といったメリットがあるものの、誰もが高性能かつ高信頼なパフォーマンスを出すのが難しく、一方の商用データベースはその逆であり、両方を得ることが難しいということです。

 もちろん、オープンソースのRDBMSで高性能を出したり、商用データベースでも工夫次第でコストを抑えることは可能かもしれませんが、これらを実現するには深い技術的知識を持つ人材が必要であることなどから、一般的に両立するのは「難しい」と考える人が多いのが実情でしょう。

 そこでAWSはAWSに適した形でRDBMSを作り上げたということのようです。しかも、全く新しいRDBMSではなく、MySQL互換な上、クラウドネイティブです。

 Auroraは商用データベースが持つ性能や信頼性とオープンソースデータベースの手軽さやコストとの「いいところどり」を目指した新サービスです。現時点では「US East」リージョンにて限定プレビューとなっています。

 AuroraについてはAWS General ManagerのAnurag Gupta氏(写真)が解説しました。3年かけてAuroraを開発したそうです。

mhdb_aws_PB130355.jpg

 あらためてAuroraの特徴を挙げてみましょう。AWSではAuroraについて、AWSのクラウド環境に最適化したデータベースサービスであり、MySQL 5.6互換、高性能、オープンソース並の価格で従量制課金で提供するサービスである、と説明しています。AWSのサービス体系から見ると「Amazon RDS」で使える新しいデータベースサービスの一つに位置付けられています。もちろん、ハードウェアやソフトウェアはAWSが管理するフルマネージド型です。

 内部的にはどうでしょうか。Gupta氏は従来のRDBMSの問題点を「モノリシック」な構造である点だと指摘しています。従来型のデータベースではSQL、トランザクション、キャッシング、ロギングといった複数の機能の層が一つのまとまった塊となっているという意味です。

 この、「塊」の状態でいくらシャーディングで分散化しても、基本的にはこの構造(塊)は変わりません。Gupta氏は「ここが、コスト面、柔軟性、可用性において問題なのです」と指摘していました。そこで新たに開発したのがAuroraというわけです。

 Auroraは従来のモノリシックの塊からロギングの層を切り離し、SSDで構成された仮想ストレージ領域に移しています。ログとストレージが一体化している、あるいはストレージの構造がログをベースにしていると言えます。

 ここがAuroraの大きな特徴です。Auroraのストレージは最大64Tバイトまでデータ量に合わせて自動的に拡張します。ストレージ領域のスケールアウトはお任せというわけです。

 データは3つの「AZ(Availability Zone)」にそれぞれ二重化しますから、常に6つのコピーが作られます。これを自動で「Amazon S3」に増分バックアップを行い、信頼性を保つようにしています。

 ディスク上のデータは暗号化、ネットワークは「Amazon VPC(Virtual Private Cloud)」が用いられており、セキュリティ対策も標準装備です。これほどまでの構成を自力で構築するとなると相当なコストが掛かりそうですが、これを従量課金で利用できます。

 さらに、Auroraはキャッシュもデータベースのプロセスから切り離しました。そのため、データベースをリスタートする場合でも、前のキャッシュが残っているため再起動が早くできます(実際にどのくらいの頻度でデータベースの再起動が必要になるのか筆者には疑問ですが)。

       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。