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

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

[加山恵美,@IT]
前のページへ 1|2       

MySQLと何が違うのか

 MySQLとの違いも見ていきましょう。AuroraはMySQL互換であり、Gupta氏はMySQLとAuroraは「切り替え可能」であると話していました(互換性がどこまでのものなのかは不明ですが)。

 Auroraの特徴は、速さにもあります。AWSによるとAmazon EC2で8つのSSDを使う「I2」インスタンスの上でMySQLを稼働させた場合と比較して、Auroraは「5倍のスループット」が出せるそうです。具体的には毎分600万Insert、毎分3000万Selectが可能だとしています。

 この他にもMySQLと違う点の一つとして、レプリケーションの処理があります。Auroraでは、トランザクションログと一体化したストレージ構造を持っているため、MySQLでレプリケーションをする時のようなログ適用の必要がありません。

 また、Auroraのストレージが先述したように複数のAZで共有しているのに対して、MySQLではレプリカごとにそれぞれデータボリュームを個別に割り当てられるようになっています。さらに、Auroraでは「読み取り専用のレプリカ」を作成することができるため、Write処理を考慮せずに、読み取り性能を高めることができます。MySQL互換でありながらも、高い性能を出すためにボトルネックを徹底的に排除したという印象があります。

 さて、お値段はどうでしょうか? RDS上で「Oracle Database」や「Microsoft SQL Server」などの商用データベースを用いる際には、データベースのライセンス料を「込み」か「持ち込み」かが選べますが、Auroraにはライセンス料は「なし」で、純粋に利用した分だけの従量課金となっています。

 Auroraのインスタンスで最小構成は仮想CPU2基にメモリ15.25Gバイトで時間当たり0.29米ドル、最大構成は仮想CPU32基にメモリ244Gバイトで時間当たり4.64米ドルです。

 従来、RDSが提供してきたものでスペック的に近いのは、最小構成なら「db.r3.large」でしょう。MySQLのオンデマンドDBインスタンスなら時間当たり0.24米ドル、最大構成なら「db.r3.8xlarge」で、時間当たり3.78米ドルです。

 このことから、現段階ではAuroraは、通常のMySQLを使う場合よりも少し割高になる程度で収まるようです。このことから、RDSでMySQLを使っている場合は、Auroraへの移行が進むかもしれません。

 MySQLの使い勝手をそのままに、AWS向けに最適化したAurora。クラウドで使うRDBMSの「新しい標準」となるでしょうか。なおサービスのフルローンチは2015年初頭を予定しているそうです。来年が楽しみですね。

AWSのデータベースサービス選ぶには?

 AWSではどのデータベースサービスが使えるか振り返ってみましょう。まず、Amazon EC2を使う場合、これならサーバーのインフラ(基本的にハードウェアからOSまで)を時間単位で借りることになりますので、どのデータベース製品でも自由にインストールして使うことができます。その代わり、データベースのインストール、パッチ適用、バックアップ、スケーリングなどOSより上は全部自分で管理する必要があります。

 一方で、「フルマネージドのデータベースサービス」もあります。こちらは、データベースを「サービス」として利用できるので、ユーザーからすると、インストールからスケールまでデータベースに関する諸々の管理作業は必要ありません。ユーザーが管理するのは基本的にアプリケーションのみで済みます。

 AWSにおけるフルマネージドのデータベースサービスは、(1)Amazon RDS、(2)「Amazon DynamoDB」、(3)「Amazon ElastiCache」、(4)「Amazon Redshift」です。

 (1)Amazon RDSはSQLが使えるリレーショナルデータベースです。今までは、MySQL、PostgreSQL、Oracle Database、Microsoft SQL Databaseでしたが、来年になると、このラインナップに正式にAuroraが入るようになります。

 (2)Amazon DynamoDBはNoSQLデータベースです。ドキュメントデータモデルとキー値データモデルの両方をサポートしています。前者はJSONドキュメントを扱うドキュメント指向データベース、後者はスキーマレスのKVS(キーバリューストア)です。

 (3)Amazon ElastiCacheはキャッシュですから、単独で用いることはほぼないでしょう。一般的にはAmazon RDSやAmazon DynamoDB、あるいはAmazon EC2など、他のサービスのキャッシュとして機能します。キャッシュエンジンは「Memcached」と「Redis」の二つに対応しています。

 (4)のAmazon Redshiftは、データウェアハウスのためのサービスです。データベースの技術的に見ると、集計処理に有利な列指向ストレージが採用されています。一般的にはストレージにAmazon S3、ストリーミングデータ処理に「Amazon Kinesis」や大量のデータ処理に「Amazon Elastic MapReduce」などを組み合わせたりします。

関連記事

「データの重力」を軸に考える、データ/データベース領域のクラウド環境利用

AWSがストレージ/データベースサービスに特化したイベントを東京で開催。データプラットフォームを支える「サービス」への考え方は、クラウド以降のデータの持ち方を考える上で参考になるものだった。


 AWSはサービスが豊富にある一方で、各種インスタンスやストレージ、採用するソフトウェアなど、多様なサービス群の中から適切なものをうまく組み合わせていく知恵が必要でした。しかし、今後は今回のAuroraのように、フルマネージドかつAWSの多彩なサービスを組み合わせた、より使いやすく構成されたものも多く出てくるのではないでしょうか?

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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