TOP>企業情報>コラム>技術情報>「PGDay UK 2016」参加レポート

「PGDay UK 2016」参加レポート

「PGDay UK 2016」参加レポート


海外のデータベース事情として、一昨年、昨年に続き3度目の参加となった「PGDay UK 2016」(2016年7月5日開催)の様子をレポートします。

「PGDay UK 2015」の参加レポートはこちら
「PGDay UK 2014」の参加レポート 前編はこちら
「PGDay UK 2014」の参加レポート 後編はこちら

PostgreSQLは、1986年に米国で「Postgres」という名前で誕生しました。それ以降、多くのボランティアによって開発が進められ、名称が現在の「PostgreSQL」に変更されたのは1996年です。つまり、2016年の今年は、PostgreSQL誕生20周年の記念すべき年にあたります。本イベントのオープニングでも、PostgreSQL開発コミュニティの主要コミッタの1人で、スポンサー企業EnterpriseDB社に在籍するDave Page氏から開会の挨拶とともにPostgreSQL誕生20周年の祝辞が述べられました。

オンライン決済サービスのバックエンドで稼働


イベントでは、ユーザ事例の1つとしてGoCardless社 でのPostgreSQLの活用が紹介されました。同社は2011年に日本人を含む3名のオックスフォード大学の卒業生が立ち上げた企業で、社名のとおり、クレジットカードを使わない決済サービスを提供しています。支払や入金処理は銀行間送金による自動決済で手数料も低く抑えられていることから、現在、イギリスおよびヨーロッパを中心に2万社を超える企業が利用しています。また、イギリスでは、デビットカードと呼ばれるカードで支払いをすると、その時点で自分の預金口座から利用代金が引き落とされる仕組みが個人レベルで広く普及していることも後押しとなっているように思います。

昨今、金融業界を中心に注目を集めている「フィンテック(FinTech)」はIT技術を駆使して新たに生み出された便利で優れた金融サービスを指しますが、同社はヨーロッパにおける注目度の高いフィンテック企業の1つとして、フィンテック支援団体「FinTechCity」が公開する「The FinTech50」の2015年度に選出されています。

このオンライン決済サービスのバックエンドでPostgreSQLが利用されており、Pacemakerを使った3ノードでの可用性構成がとられています。格納データは数百ギガバイトと大きくはないものの、システムの特性上、十数秒のAPIダウンタイムも許容されません。セッションではそのような事態を回避するための工夫がいくつか紹介されました。同システムでは、APIの機能拡張に伴って毎月20個にのぼるスキーマの置き換え作業が行われています。その作業中もユーザからのリクエストは処理できなければならないため、メンテナンスによる各オブジェクトのロック獲得処理に対して、セッションやトランザクション、SQLレベルで粒度の細かいタイムアウトを設定することで、想定を超えた時間のロック待ちがユーザのシステム利用を妨げる事態を回避しています。

同社でオープンソース・ソフトウェアであるPostgreSQLが採用されたのは元々スタートアップ企業という背景があったためと推測できますが、起業から5年経過した現在も継続利用されているということは、ミッションクリティカル性の高いシステムでも十分実用に耐え得るデータベースであることを証明していると言えます。

新バージョン PostgreSQL 9.6の注目機能


新バージョン9.6は2016年9月1日にRC1がリリースされ、いよいよ正式版を待つばかりです。新機能は大きく「性能」「DBAと管理」「レプリケーション」「開発とSQL」のカテゴリに分けることができます。

9.6の注目機能

9.6の注目機能

近年、PostgreSQLではデータウェアハウス向けの機能が積極的に取り込まれています。9.6でもその動きが継続しており、いよいよ待望の「パラレル・クエリ」が登場します。パラレル・クエリは、1つのSQL処理を内部的に複数のプロセスで分担して実行することによって大規模データ処理を高速化する機能です。9.6ではパラレルでのシーケンシャル・スキャン、ジョイン、アグリゲート(集約)がサポートされる予定です。

また、マルチCPUサーバ環境下での多数同時セッションにおけるOLTP系処理について、より性能を向上させる改善が入る予定です。これは、ロック競合待ちを軽減するために内部で取得するロックそのものの変更や複数のコミット処理を一括で実行することで実現しています。

PostgreSQLはこれまで1ページ(8キロバイト)単位でテーブル領域を拡張する動作だったため、複数トランザクションから大量データが挿入された際、領域拡張でのロック競合により性能が劣化するという課題がありました。9.6では複数ページを一括で確保する仕組みが追加される予定で、このロック競合の軽減が期待できます。

データベースでは性能劣化や処理遅延といった事象が発生する場合があります。その際、PostgreSQLではサーバログや実行時統計情報から原因を調査しますが、事象発生時に各プロセスが内部でどのような処理を行っていたのかという情報が取得できないため、原因がはっきり掴めずにトライアンドエラーで対処しなければなりませんでした。9.6では内部ロックを中心に70種類にのぼる待機イベントが提供される予定で、ピンポイントでのボトルネックの特定が可能になります。

これらの仕組みや機能は、商用データベースを利用するユーザにとっては馴染みのあるものが多く、商用データベースとの機能差異がさらに小さくなることはPostgreSQLを選定する際の強力な後押しになると言えます。

より管理しやすく、使いやすく


イギリスとヨーロッパでPostgreSQL関連サービスを提供する主な企業にEnterpriseDB社と2ndQuadrant社があります。両社にはPostgreSQL開発コミュニティの主要コミッタをはじめ開発に携わるメンバーが数多く在籍しており、PostgreSQL本体の機能はもちろん、数々の周辺ツールの開発を手がけています。今回のイベントでは、両社メンバーによるセッションが複数ありました。

PostgreSQL管理用GUIツールであるpgAdminIIIは、オープニングで登壇したDave Page氏を中心に14年という長期メンテナンスの下、デスクトップベースのツールとして長年利用されてきました。しかし、Webベースアプリケーションが基本という昨今の流れに対応していない点や開発言語として採用していたC++の開発者を集めることが難しくなってきたこと、さらに内部で利用するサードパーティ製のライブラリが起因となる不具合の対処の負荷が高いことなど多くの課題を抱えていました。それらの課題を解決し、よりユーザニーズに即した使いやすい管理ツールにすべく、今回、pgAdmin4が新たにリリースされます。

pgAdmin4ではPostgreSQLと親和性の高いPythonとJavaScript、jQueryを組み合わせる形でプログラムの置き換えが行われています。また、機能面ではテーブルやインデックスなどオブジェクトの作成やバックアップ、VACUUMなどメンテナンス処理といった従来からのデータベース管理に加えて、リアルタイムにデータベースの稼働状況をモニタリングできるダッシュボードが実装されます。開発にはEnterpriseDB社のメンバーが多数関わっており、同社が提供するデータベース管理・監視GUIツール「EDB Postgres Enterprise Manager」の機能を一部取り込む形で相互に機能拡張を進めています。2016年9月2日にRC1がリリースされ、正式版はEnterpriseDB社が提供するPostgreSQL 9.6のOne Click Installerに含まれる予定です。

昨今、2ndQuadrant社が積極的に開発を進めているのはレプリケーションに関する機能が中心です。「repmgr」はPostgreSQLのストリーミング・レプリケーションによる可用性構成を管理するクラスタソフトウェアで、新バージョン3.1では計画停止に対応したスイッチオーバがサポートされました。今後はコネクションプーリング機能である「pgBouncer」やバックアップの世代管理や増分バックアップが可能な「Barman」と統合し、より強固なソリューションとして提供される予定です。

その他にも、同社では論理レプリケーション環境を構築する「pglogical」やPostgreSQL間の双方向レプリケーションを可能にする「BDR」など、PostgreSQLの可用性構成の選択肢を広げる取り組みが進められています。

会場の様子

会場の様子

終わりに


PostgreSQL生誕20年の今年、アジア地区のPostgreSQL国際カンファレンスとして、「PGConf.ASIA 」が12月2日、3日に東京で開催されます。今回、2年ぶりにライトニングトークに登壇してご紹介したところ、会場となる秋葉原を知っているという参加者も数人いて、アジアでのイベントをより多くの人に知ってもらう良い機会になりました。また、私自身、この「EuroIT 紀行」を題材にスピーカーとして登壇します。アジアから世界へ、また世界の情報をアジアへ紹介する絶好の場として参加を楽しみたいと思っています。

執筆者紹介

高瀬洋子

高瀬 洋子(Youko Takase)

株式会社アシスト データベース技術本部 技術開発部

アシスト入社後、Oracle Databaseのサポート業務を経て、2009年よりPostgreSQL、EDB Postgresのサービス立ち上げに参画。「PostgreSQLなら高瀬に聞こう」と社内外から言ってもらえる存在となることを目標に日々活動。2014年4月よりイギリスに拠点を移し、EDB Postgresの啓蒙活動と顧客対応の後方支援を担当。

高瀬の紹介記事はこちら

関連製品/サービス


Facebookで情報をお届けしています

Facebookでは、アシストの「今」を週3回のペースでお届けしています。「めげない、逃げない、あまり儲けない」を合言葉に日々頑張っておりますので、応援よろしくお願いします。



ページの先頭へ戻る