ここから本文です

“PostgreSQL互換版”Amazon Auroraの性能はRDSの何倍?

7/7(金) 7:00配信

アスキー

AWS上のデータベース(DB)技術をテーマとした「AWS Solution Days 2017 ~AWS DB Day~」が開催された。基調講演レポート前編では、SRA OSS, Inc.の石井達夫氏、インサイトテクノロジーの小幡一郎氏の講演をお届けする。
 アマゾン ウェブ サービス ジャパン(AWSJ)が7月5日、AWS上でのデータベース(DB)技術をテーマとしたイベント「AWS Solution Days 2017 ~AWS DB Day~」を開催した。基調講演では4名のゲストが登壇し、Amazon Aurora/RDS、PostgreSQL、MySQL/MariaDB、Oracle DB、SQL Server、Kinesis FirehoseなどのAWS上での性能検証結果やDB移行、活用事例などを技術的側面から紹介した。
 
 基調講演レポート前半ではまず、SRA OSS, Inc.の石井達夫氏による「Amazon Aurora with PostgreSQL Compatibility」のパフォーマンス検証結果報告、インサイトテクノロジーの小幡一郎氏によるOSSのカラム型DBエンジン「MariaDB ColumnStore」紹介をお届けする。
 

PostgreSQL互換版 AuroraのWrite性能を検証、SRA OSS・石井達夫氏
 最初に登壇したSRA OSS 日本支社 取締役支社長の石井達夫氏は、昨年11月の「re:Invent 2016」で発表され、現在プレビュー提供中の「Amazon Aurora with PostgreSQL Compatibility(以下、Aurora PostgreSQL互換版)」を性能検証した結果を報告した。
 
 石井氏はまず、Aurora PostgreSQL互換版の機能ブロック構成について説明した。このAuroraでは、DBエンジン部分にはPostgreSQL 9.6のコードをそのまま利用して互換性を持たせる一方で、Read(読み込み)処理を分散し高速化するリードレプリカ(Read Replica)はAWS独自のものに差し替え、加えてフェールオーバー処理や高速なWrite(書き込み)性能を新たに実現しているという。
 
 このうち、石井氏はWrite性能の向上に注目して性能検証テストを実施した。Write処理の性能向上は、アプリケーション変更が必要になるなどRead処理のそれと比べて難しいというのが常識で、「『Auroraに乗り換えるだけで性能が向上する』といううまい話が本当にあるのか?」と考えたという。
 
 検証は、AWS上でAurora PostgreSQL互換版とAmazon RDS for PostgreSQLのインスタンスを用意し、pgbench(PostgreSQL用のベンチマークツール)が大量のトランザクションを流し込むかたちで実施した。同時接続数を250/500/750/1000と変化させながら1時間ずつトランザクションを流し、実行できたトランザクションを性能指標とする。なお、1つのトランザクションにはSELECTが1回、UPDATEが3回、INSERTが1回含まれる。
 
 検証の結果、Aurora PostgreSQL互換版は、Amazon RDS for PostgreSQL比でおよそ3倍のスループットを実現し、レスポンス時間も短く安定していることが明らかになった。Auroraのほうは同時接続数を増やしてもスループットの劣化が少ない点もポイントだと述べた。
 
 なお石井氏は、SRA OSSが中心となって開発しているPostgreSQL管理ミドルウェア「Pgpool-Ⅱ」の機能を紹介し、今後、Aurora PostgreSQL互換版にも対応していく意向を明らかにした。Pgpool-Ⅱは、クエリ内容に応じて複数ノード(Writer、Read Replica)への負荷分散処理ができるOSSツールであり、Aurora PostgreSQL互換版の処理をさらに効率化/高速化するはずだ。
 
OSSのカラム型DBはここまで進化! インサイトテクノロジー・小幡一郎氏
 インサイトテクノロジー 代表取締役社長の小幡一郎氏は、OSS(オープンソースソフトウェア)であるMariaDBと、MariaDBのプラグインエンジンとして開発されているカラム型(列指向)DBエンジン「MariaDB ColumnStore」のスケールアウト性能、さらにそれを活用したOSSベースの分析基盤コンセプトを、デモを交えながら紹介した。
 
 MariaDBは、MySQLのオリジナル開発者だったマイケル“モンティ”ウィデニウス氏が、オラクル傘下となったMySQLからフォークして立ち上げたOSS DBであり、近年人気が高まっている。小幡氏も、さまざまなOSS DBの中で「僕の一番のお気に入りはMariaDB」だと語る。
 
 MariaDB(およびMySQL)の大きな特徴は、DBエンジン部がプラグイン形式になっており、用途に合わせて開発されたDBエンジンを選択できる点だ。上述したMariaDB ColumnStoreも、このDBエンジンのひとつである。「新しいDBエンジンを開発して、そのままMariaDBに乗せることができる。じゃあ、そこにカラム型エンジンも乗せてしまえ、と開発された」(小幡氏)。
 
 小幡氏はまず、MariaDB ColumnStoreのスケールアウト性能を示すデモ動画を紹介した。AWS上でMariaDBのインスタンスを立ち上げ、約1億行のSNMPログデータ(容量は23GB)を全件検索して、SNMPメッセージを日ごと/種類ごとに集計する。この処理を1インスタンスと10インスタンスの環境で実行すると、1インスタンスでは約170秒かかった処理が、10インスタンスでは約18秒で終わり、高いスケールアウト性能が証明された。「ちゃんとスケールアウトするOSS(のカラム型DB)が現れた。これはすごくショッキングなこと」(小幡氏)
 
 小幡氏はまた、2013年に登場してDWH市場に衝撃を与えた「Amazon Redshift」とMariaDBとの関係について語った。自身は「Redshiftの大ファン」ではあるものの、進化の続くMaria DBを使って「Redshiftをひっくり返してやろう」と小幡氏が披露したのが、「Pink shift」というOSS分析基盤のコンセプトだ。これは、さまざまな型のデータが蓄積されているデータレイクからデータをロードし、カラム単位で最適なDBエンジンを選択して処理を実行する、というものである。
 
 「これは、単純にDBをシャーディング(スケールアウト)するのではなくて、たとえば分析ならColumnStore、全文検索ならMroonga――と、エンジンの中身を切り替える。この処理を、Spiderエンジンがプロキシ的に働いて、ほかのエンジンとコネクトしてやってくれる。MariaDBなら、これらがすべて標準で入っている」(小幡氏)
 
 小幡氏は、巨大なデータ量ならばRedshiftのようなDWHが必要だが、そこまでではない“現実的なデータ量”であればMariaDB ColumnStoreでも十分に利用価値があること、また、これからDWHの扱いを学ぼうという若いエンジニアがそのノウハウを学んでいくための環境構築にも良いと語り、このOSS DBの積極的な活用を訴えた。
 
* * *
 
 次回後編では、オンプレミスの商用DB(Oracle DB、SQL Server)をクラウド移行するうえでの要点を解説したアクアシステムズの川上明久氏、オンラインゲームなどの大規模トランザクションを安定的に処理するスケーラブルなシステムアーキテクチャを紹介したCygamesの倉林修一氏の講演レポートをお届けする。
 
 なお、同イベントの講演資料は後日、下記イベント公式サイトで公開される予定だ。
 
 
文● 大塚昭彦/TECH.ASCII.jp

最終更新:7/10(月) 8:05
アスキー