「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氏は指摘する。
「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関連のイベントやトレーニングコースも増えてきているという。頼もしい仲間となりそうだ。