Shoeisha Technology Media

EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

Alibaba CloudはPostgreSQLをこう使う!―PGConf.ASIA 2016

2017/01/11 06:00

 引き続き、12月2日、東京都内で開催されたPGConf.Asia 2016についてお届けしている。PGConf.Asia 2016はPostgreSQLの20周年を記念したイベントであることに加え、アジアで持ち回り開催する国際カンファレンスを目指すことも当初のコンセプトにあった。そのため基調講演の後半は中国からアリババグループのScott Siu氏が登壇した。

「Alibaba Cloud」におけるPostgreSQL導入について

 中国のアリババグループは1999年に設立し、企業間取引サイト、決済サービス、オンラインモールなどを提供しているIT企業グループだ。2009年からはパブリッククラウドコンピューティングサービス「Alibaba Cloud」を提供している。

 今回は「Alibaba Cloud」におけるPostgreSQL導入についての背景をSiu氏が解説した。ここ数年で「Alibaba Cloud」が提供しているサービスは急増している。サービス提供先(AZ)は中国だけではなくインド、イギリス、アメリカがあり、2016年11月からはついに日本ほか、ドバイ、ドイツ、オーストラリアにも広げたところ。

 まずは中国におけるPostgreSQLの普及度から。中国でリレーショナルデータベースといえば、知名度や実績においてOracleとMySQLの二強状態となっている。Siu氏はエンジニア転職サイトを示し、人気のデータベースを見るとOracle DatabaseとMySQLがトップに並んでいる。次にMicrosoft SQL Server、ここから大きく引き離されてPostgreSQLとMongoDBが並ぶという状況だ。

 現在人気の二強がOracle DatabaseとMySQLということではあるが、Siu氏によると「10年ほど前からMySQLが(ライセンスコストを理由に)急速に伸びた」という。ただしOracle DatabaseからMySQLへ移行するとなると「外部キーがそのまま使えないなどの制約もある」とSiu氏は指摘する。

アリババグループのScott Siu氏
アリババグループのScott Siu氏

 「Alibaba Cloud」は企業の顧客を抱えるため、サイトで提供するデータベースとしての要件を考えると、Siu氏は「(ライセンスコストを抑えつつ)パワフルなデータベースが必要です」と言う。既存システムからの移行を考えれば複雑なクエリーが利用できること、今後IoTの普及が見込まれることを考えるとJSONとGISが使えることも重要となる。

 そうした要件を考えるとPostgreSQLがおのずと選択肢に上がってくる。PostgreSQLならJSON形式に早くから対応しており、地理空間情報の拡張となるPostGISが使えるためだ。さらにSiu氏は「PostgreSQLのFDW(Foreign Data Wrapper)があれば様々なデータソースにつなげることができます」と述べ、「Alibaba Cloud」でPostgreSQLが必要とされる理由とした。

 「Alibaba Cloud」はいわばAWSやMicrosoft Azureのようなパブリッククラウドサービスだ。Siu氏は「PostgreSQLに関するサービスは単なるPostgreSQLエンジンだけではなく、バックアップや高可用性も含めたトータルソリューション(マネージドサービス)も提供しています」と言う。後者だとサイトにデータベースを作成すると自動的にインスタンス2つ作成し、AZをまたいでレプリケーションして高可用性を維持したり、バックアップを確保するなどしている。

 続けてSiu氏は「インフラのメンテナンスはアリババが行い、データベース担当者はSQLに専念できるようにしています」と述べる。ブラウザからGUIでパフォーマンスの監視ができる保守画面では遅いSQLを特定したり、チューニングのためのアドバイスも提供しているという。PostgreSQLはまだ近年着手したばかりとはいうものの、サービスが充実していることがうかがえる。またツールの一部はGitHubで公開するなどオープンソースへの貢献活動もしている。

 興味深いデータベースサービスとなるのが「Alibaba Cloud HybridDB」。Greenplum Databaseをベースにした並列型データウェアハウスで、GreenplumだけではなくOracle Database、Microsoft SQL Server、MySQL、MongoDBなどからのデータをETL経由で読み込むことができる。主に企業システムから「Alibaba Cloud」への移行を想定しており、特に力を入れているのがOracleユーザーの取り込みだ。中国ではOracle DatabaseとMySQLのシェアが高いため必然的と言えそうだ。

 最後にSiu氏は中国のPostgreSQL最新事情について報告した。近年になり、急速に中国でPostgreSQLの注目度が高まっているところだという。2016年には「Postgres Conference China 2016」を開催できたこともあり、PostgreSQLについて言及しているブログは増え、PostgreSQL関連のイベントやトレーニングコースも増えてきているという。頼もしい仲間となりそうだ。

PostgreSQLのクエリーの中でGPUの強力な処理能力を活用するには

 「PL/CUDA – HPC級の計算能力をIn-database統計解析へ」と題した講演を行ったのは、NECの海外浩平氏だ。「少しとがった部分の話になります」と言う。GPUを用いたPostgreSQLの高速化モジュールであるPG-Stormは、データベースにクエリーが来るとオプティマイザーが判断しGPUで処理したほうが速いものはGPUで処理するもの。JOIN、GROUP BY、Projectionに対応し、アプリケーションからはクエリーの変更が必要ないのが特長だ。

NEC 海外浩平氏
NEC 海外浩平氏

 現状、GPUの処理は強力で、NVIDIAのハイエンドのTesla P100ではコア数が3,584で並列度がかなり高い。「ただし、それを意図したコードを書く必要があります」と海外氏。PG-StormならSQL文のWhere句で計算式をCUDAプログラムに変換し、それをランタイムコンパイルしてGPUで実行できる。9.5のパラレルクエリーが入っていないものとの比較では、CPUではだんだん遅くなる処理がGPUを使った場合は処理時間がまったく増えない結果が示された。

 とはいえ、この方法は計算集約的で統計計算の専用の仕組みよりは遅い。そこでPL/CUDAで、GPUプログラムのためのCUDAコードをクエリーの中で書くようにした。その実証のために、創薬ベンチャーが化合物の類似度の計算をする実験も行った。化合物群が1,000個くらいある中から近いものを探す。この類似度計算の処理をCUDAで書きPL/CUDA関数で計算させ、結果はPostgreSQLのレコードに入る。あとは他のテーブルとのJOINなど可能だ。CPUで記述した場合は、3,000秒ぐらいかかったものが19秒になった。

 50分かかると夜間バッチにするが、10数秒になればトライアンドエラーの作業に変えられる。この違いは大きい。PL/CUDAを使えば、マニュアルでGPUの性能を引き出すのに使え、SQLの中で計算させ結果を柔軟に使えるようにできるということだ。

Pgpool-IIはPostgreSQLに寄り添いながら進化し続ける

 「Pgpool-IIの過去、現在、未来」というタイトルで講演を行ったのは、SRA OSS, Inc. 日本支社の石井達夫氏と長田悠吾氏だ。Pgpool-IIは多彩な機能もつPostgreSQL用のクラスタ管理ツール。石井氏よりその歴史が語られた。

SRA OSS, Inc. 日本支社 石井達夫氏
SRA OSS, Inc. 日本支社 石井達夫氏

 その誕生は2003年、PHPでコネクションプールが使えないことを不満に思った石井氏がPostgreSQL用のコネクションプールサーバ「pgpool」を作ったのが始まりだった。その翌年にはレプリケーション機能が実装された。PostgreSQLにまだストリーミングレプリケーションがなかった時代の話だ。その後も様々な機能が加わり今のPgpool-IIがある。

 開発体制も個人プロジェクトからコミュニティによるチーム作業へと変わっていった。現在ではパキスタンから開発に参加しているメンバーもいる。

SRA OSS, Inc. 日本支社 長田悠吾氏
SRA OSS, Inc. 日本支社 長田悠吾氏

 多機能なPgpool-IIだが、現在ではストリーミングレプリケーションの管理ツールとして使われるケースが多い。負荷分散や自動フェイルオーバなどの基本機能に加え、Pgpool-II自体の可用性を高めるWatchdogやクエリキャッシュといった付加機能も備える。

 「PostgreSQLのレプリケーション技術の進化に合わせてPgpool-IIも進化していきます」と石井氏。今後は同期レプリケーション、カスケードレプリケーション、そして来たるマルチマスタレプリケーションに対応していくという。

著者プロフィール

All contents copyright © 2007-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5