老兵のようなRDBMSからの解放を AWSが手がけるデータストアの再発明

文●大谷イビサ 編集●ASCII

2020年12月04日 09時00分

 オンラインで開催されているAWS最大のグローバルカンファレンス「AWS re:Invent 2020」。12月2日に行なわれたAWS CEOのアンディ・ジャシー氏の基調講演では、データストア分野にもフォーカス。ストレージとデータベースの新サービスは、コスト削減と高い性能を求める顧客の声に応えた正常進化と言えそうだ。 

データストアの再発明をアピールするアンディ・ジャシーCEO

もはや古いデータストアでは対応できない

 3時間におよぶアンディ・ジャシー氏の基調講演において、コンピュート分野に続いて解説されたのがデータストアの分野だ。ここではデータを利活用するストレージの技術革新に加え、データベースへの取り組みも披露された。

 まずゲストとして登壇したのは、2006年のAmazon S3ラウンチ当時にいち早くデータを格納したSmugMugの創業者であるドン・マクスキル氏。S3にデータをホストしたことで、最新の分析やデータ管理ツールを利用でき、1日数十億枚というデータの増加に対してもきちんとスケールしているという。

SmugMug創業者のドン・マクスキル氏

 ジャシー氏は、「S3を立ち上げた当初、唯一の営業だったラディ・バルデスから電話があり、『SmugmugがS3に6TBのデータを置くと言ってる』という話を聞いた。T(テラ)なのかなのか? G(ギガ)なのか? と聞いたら、テラバイトだという。私たちは信じられなかった。でも、ドンはクラウドが今後立ち上がること、データストアが変わることを予見していた」と振り返る。

 当時から比べてもデータ増大のスピードは著しい。アナリストによれば、20年前の1年分のデータは、今日ではたった1時間で生成されるという。こうした現状に対して、データストアは年々単価が下がっており、今も絶え間ない技術革新が行なわれている。「もはや古いデータストアでは対応できない」とジャシー氏は指摘する。

SAN in the Cloudを実現する「io2 Block Express」

 S3のようなオブジェクトストレージだけでなく、ブロックストレージにも絶え間ない再発明が続けられている。データをブロックという単位で細切れに格納する古典的なブロックストレージは、メタデータを持たないがためにパフォーマンスも高い。そのため、多くのEC2ストレージではブロックストレージを採用している。「社内でも議論はあったが、ハイパフォーマンスブロックストアを開発するのには2年がかかると考え、最初にEC2をダイレクトアタッチストレージ(DAS)として出した」とジャシー氏は語る。

 その後、2008年にAWSは拡張性の高いハイパフォーマンスブロックストアを実現したAmazon EBS(Elastic Block Storage)をリリース。簡単にプロビジョニングでき、スループットやIOPSをダイナミックに拡張することも可能になった。2014年には今の汎用BESボリュームである「gp2(general purpose 2) volumes」をリリース。しかし、顧客からはスループットやIOPSは拡張させたいが、必ずしも容量を増やしたいわけではないという声も出ていたという。

 この声に応えたのが今回発表された「gp3 volumes for EBS」だ。gp3 volumes for EBSでは、スループットとIOPSの確保をストレージ容量と独立して行なえるようになっているため、MySQLやCassandra、Hadoopクラスターなど性能重視で容量を必要としないアプリケーションに最適だ。スループットとして3000IOPS、125MiB/s、ピークスループットとして1万6000IOPS、1000MiB/sを提供。これはgp2の4倍となる。

gp2、gp3、io2のIOPSとスループット

 また、高いIOPSを求めるユーザーのための「io2 Block Express」も発表された。年始に発表されたio2ボリュームではgp2やgp3の4倍となる最大6万4000のIOPSを実現していたが、io2 Block Expressではさらにその4倍の25万6000IOPS、スループット4000MiB/sに達する。

 io2 Block ExpressはオンプレミスのSAN(Storage Area Network)をクラウド上で実現するソリューションとなる。SAPやOracle DBなどのワークロードでは高いパフォーマンスを必要とするが、こうなるとオンプレミスのSANが必要になる。「SANは安くても10万ドルかかるし、サポートやメンテナンスも大変。複数拠点で管理したり、キャパシティを増やす場合はさらにコストがかかる」とジャシー氏は指摘する。

 しかし、SAN in the Cloudとも言えるio2 Block Expressであれば、SANのパフォーマンスをクラウド上で実現できる。もちろんマネージドサービスなので、バージョンアップやバックアップ、スナップショップもAWSのサービスとして提供される。2021年にはマルチアタッチ、I/Oフェンシング、スナップショットからの高速リストアなど、SANとしての機能も拡張していくという。

Aurora Serverlessがバージョンアップ

 AWSにとって、エンタープライズ攻略の大きな鍵は、オンプレミスデータベースのクラウド移行だ。あらゆるアプリケーションの中心に鎮座するデータベースだが、オンプレミスで運用する限りは、インストールやチューニング、パッチあて、データ保護、可用性確保の作業のために、多くのデータベースエンジニアが必要となる。

 こうした「差別化を生まない高負荷な作業(Undifferentiated Heavy Lifting)」を排除すべく、10年前からAWSは既存のRDBMSのマネージドサービス化を進めており、「RDS for Oracle」や「RDS for SQL Server」などのサービスを展開してきた。しかし、いまだに多くのデータベースはオンプレミスで動作している。「RDSの成長を見ても、圧倒的なRDBMSはいまだにオンプレ上にある」とジャシー氏は語る。

 この背景としては商用データベースベンダーのロックインがあるという。この話題について数年来取り上げているジャシー氏は、今年もオラクルとマイクロソフトを名指しし、「独自で、高いし、ライセンシング条件もひどい。なにかあれば追加コストを要求され、期中にライセンシングの条件を変えることも躊躇しない」と批判する。

拘束的なRDBMS

 商用データベースの運用に限界を感じたユーザーは、MySQLやPostgreSQLなどオープンソースのデータベースへの移行を検討することになるが、ここでは性能面での限界に突き当たる。この課題に対応するのがクラウドベースのデータエンジンであるAmazon Auroraだ。「MySQLとPostgreSQLと互換性を保ちながら、パフォーマンスや耐久性、可用性も高い。しかもコストは1/10だ」とジャシー氏はアピールする。Amazon Auroraも今も高い成長を遂げており、AirBnB、アストラゼネカ、BP、キャピタルワン、カニーメイ、テトコ、フォルクスワーゲンなど、10万以上のユーザーが使っている。

 また、Auroraのサーバーレス版である「Aurora Serverless」の提供を開始しており、おもに開発ワークロードで利用されている。このAuroraを本格運用に耐えうるレベルにバージョンアップしたのが、新発表の「Amazon Aurora Serverless v2」になる。数十万のトランザクションを数秒でスケールでき、しかも増分のみで対応できる。またマルチAZ、リードレプリカ、グローバルDB、並列クエリなどにも対応しており、ピーク負荷のキャパシティと比較して、コストも90%以上セーブできるという。まずはMySQL版が提供され、2021年にはPostgreSQL版もリリースされる。

RDBMSを当たり前のように使ってきた世界に選択肢を

 データベース移行に関しては、これまで「AWS Database Migration Service」や「Schema Conversion Tool」を提供してきたが、独自SQLを用いるアプリケーションの移行は難しかった。そこで今回はMicrosoft SQL ServerのアプリケーションをAurora PostgreSQLで動作させるための「Babelfish for Aurora PostgreSQL」が投入された。Aurora側に用意されたBabelfishではSQL Server独自のT-SQLを解釈できるため、少ないコード変更でAuroraへ移行できる。あわせてBabelfish for Aurora PostgreSQLはOSSとして公開されることも発表された。「老兵のようなデータベースから解放される」とジャシー氏は語る。

 ジャシー氏は、「すべてのデータベースが再発明されたと言ってもよい。今まで当たり前のようにRDBMSを使ってきた世界がいま変遷されている。ギガバイトの世界ならともかく、テラバイト、ペタバイト、エクサバイトの世界では、RDBMSはもはや意味が通らない。高すぎるし、複雑すぎる」とコメント。その上で、RDBMSのみならず、インメモリDB、マップ型DB、時系列DB、オブジェクトストレージ、データレイク、DWH、台帳型DBなど、用途ごとのデータベースの品揃えが重要になるとアピールした。

 こうした目的別のデータストアのデータを組み合わせた仮想テーブル(マテリアルビュー)を生成できる「AWS Glue Elastic Views」も発表した。AWS Glue Elastic Viewsでは、各データストアからターゲットデータストアにレプリカを作成し、変更を検知することで、最新の情報を保障するという。

AWS Glue Elastic Viewsによるマテリアルビュー

 アスキーではAWS re:Invent 2020を引き続きレポートする。

■関連サイト

■関連記事