TOP>企業情報>コラム>特集>主要コミッタBruce Momjian氏、アシスト来社!EDB Postgres最新動向を聞く

主要コミッタBruce Momjian氏、アシスト来社!
EDB Postgres最新動向を聞く

主要コミッタBruce Momjian氏、アシスト来社!EDB Postgres最新動向を聞く


企業向けデータベースの新たなスタンダード、EDB Postgres。2016年1月26日は最新バージョン 9.5をリリース、2月18日には「EnterpriseDB Summit Tokyo 2016」が開催され、多くのIT関係者の注目を集めています。今回、エンタープライズDB社のメンバーであり、PostgreSQL開発コミュニティの主要コミッタでもあるBruce Momjian(ブルース モンジン)氏の2年ぶりの来日に際し、EDB Postgresの最新ロードマップやコミュニティとの関係について話を伺いました。

データウェアハウス対応機能が続々登場!


アシスト/田中: データベース処理には一般的にOLTP系とデータウェアハウス(DWH)系があります。EDB Postgresには商用データベースと遜色のないOLTP向けの多くの機能がすでに実装されており、日本国内での採用実績も増えてきました。そうした中、ここ数年は特にDWH向け機能を中心とした拡張・強化が進んでいますね。

Momjian氏: そうですね。最新バージョン 9.5を例に挙げると、新機能は「DWH」「大規模データ」「シャーディング」「アプリケーション開発」という4つのカテゴリに分類できます。これらのカテゴリを見るとEDB Postgresが多方向へ進化していることが分かると思います。DWH向け機能の強化は9.3の時代から始まり、9.5ではBRINインデックスやCUBE、ROLLUPといった新たな機能が実装され、現在も開発が着々と進められています。

アシスト/田中: 9.6の新機能の中で、当社は特にパラレル・クエリに注目しています。SQL処理を内部で複数プロセスで分担することで大規模データに高速アクセスできるパラレル・クエリは、多くのユーザが待ち望んでいた機能の1つです。9.6での実装は確定しましたか。

座談会風景

右から、株式会社アシスト 田中健一朗、竹内尚也、家島拓也、喜田紘介

Momjian氏: はい。9.6ではパラレル・ジョインとパラレル・シーケンシャル・スキャンの実装が決まっています。また、その次の9.7ではパラレル・アグリゲートとパラレル・ソートを組み込む予定で、今後数年で10種ほどのパラレル系機能の実装が実現しそうです。

アシスト/田中: 大変楽しみです!パーティショニング機能についてもOracle Databaseと同様の仕組みやコンポジット、パラレルパーティションといった拡張がされるのではと期待していますが、具体的な計画はありますか。

Momjian氏: パーティショニングに関連した機能として、すでに9.5で組み込まれているシャーディングがあります。これは9.2で実装済みの外部データラッパ(FDW)を拡張する形で、リモートサーバのテーブルをパーティションとして扱えるようにしたものです。シャーディングを含むパーティショニングについては、Oracle Databaseライクな構文のサポートなど、更なる機能強化に向けた開発を継続しています。

アシスト/喜田: 大規模データを扱う際、列指向という考え方がポイントとなってくると思いますが、新しい仕組みが検討されていれば教えてください。

Momjian氏: 1つの列に多くの重複データが含まれる大規模テーブルでは列指向ストレージという仕組みが大変有用になると考えており、現在開発を進めています。当初9.6で実装される予定でしたが9.7へ変更となっています。9.6ではテーブルサイズの拡張にあわせて、あらかじめ一定の領域を確保するエクステントに類似した新たな改良を入れることが決まっています。これによってデータサイズが増えても性能を維持できるようになると考えています。このようにDWHシステムに求められるさまざまな機能の実装が予定されており、今後、EDB PostgresがDWHシステムで採用される機会は格段に増えていくでしょう。

Momjian氏

Momjian氏

アシスト/家島: テーブルサイズの拡張にあわせて一定の領域を確保できるのはEDB Postgresにとって画期的ですね。開発状況をもう少し具体的に教えていただけますか。

Momjian氏: 現在、実装に向けて2つの作業を行っています。まずは、同一テーブルに対して複数セッションから新たな領域を確保する際に、競合が発生しないようにする作業です。次に、テーブルがすでにギガバイトレベルの場合、従来どおり8KBのページを1つずつ割り当てるという動きの妥当性を議論しています。実際にテーブルにどのように組み込むのかという検討はこれからです。

アシスト/竹内: 領域の確保は自動的に行われるのか、テーブル作成時にあらかじめサイズを指定するのか気になるところですが、どちらになりそうですか。

Momjian氏: コミュニティとして結論が出ていないためなんとも言えませんが、個人的には自動化が良いと考えています。どのくらいの領域を割り当てるべきかをあらかじめ見極めるのは大変な作業ですし。皆さんに質問ですが、テーブルサイズが大きくなったためにパフォーマンスが劣化したという経験はありますか。

アシスト/家島: はい。当社サポートセンターでは、データファイルサイズの拡張に伴いアクセスが遅くなるという問い合わせをお客様からいただいたことがあります。

Momjian氏: なるほど。どの程度のサイズであれば性能上問題ないか、事前にきちんと検証した上で実装していく必要がありますね。

アシスト/田中: もう1つ、パラレル・クエリに関して質問させてください。他の商用データベースでパラレル・クエリが実装された当初、結果不正という致命的な不具合が数多く発生してサポート対応に追われた苦い経験があります。EDB Postgresでは、そのような不具合が発生しない工夫は検討されていますか。

田中健一朗


Momjian氏: 私がDBAとして働いていた20年前に利用していたInformixを例に話をしましょう。当時のInformix 5は現在のPostgreSQLと同じプロセスベースのデータベースでしたが、バージョン6のリリースにあわせてスレッドベースへ変更することによるパラレル対応を発表しました。しかしながら多数の不具合が発生し、中にはバージョン5へ戻したお客様もいらっしゃいました。不具合はバージョン 7でようやく終息したものの、2年という年月を費やし、さらにバージョン 5の時と比べて性能が低下する結果となりました。1つのアーキテクチャの変更がいくつもの問題を生み出してしまったのです。同じ過ちを繰り返すべきではありません。そのため、プロセスベースという現在のアーキテクチャは変えずに各プロセスごとに個別にセッションを確立する構造を取りながら、性能も向上させる仕組みを入れようとしています。

アシスト/田中: ありがとうございました。ここからは、エンタープライズDB社とPostgreSQL開発コミュニティとの関係についてお伺いしたいと思います。エンタープライズDB社にはMomjian氏をはじめ、コミッタと呼ばれるPostgreSQL開発コミュニティの主要メンバーが複数在籍しています。PostgreSQLと共に成長するというビジョンを掲げ、PostgreSQL本体の開発にも積極的に参画している企業と理解しています。

Momjian氏: はい、そのとおりです。私たちエンタープライズDB社はPostgreSQLの開発における主要コントリビュータとしてだけでなく、エンタープライズ利用のために一部の機能を商用化して提供したり、技術情報やユーザ成功事例を広く発信するという活動を通じて、エコシステムのリーディング企業としてもPostgreSQL開発コミュニティと密に連携しています。こうした活動は、オープンソースプロジェクトに関わる企業にとっての基本的なモデルだと考えています。エコシステムにおける私たちの役割の1つに、ユーザ企業に対するエンタープライズレベルのサポート提供があります。オープンソースだからサポートも無償という意味ではないことは、すでにユーザにもコミュニティにも十分理解してもらえていると思います。このサポートで得た利益をPostgresの機能開発の支援費用に回すことで、Postgresをより強固なものにするという好循環が生まれます。また、ユーザ企業に近いポジションで活動している私たちは、ユーザとコミュニティとの橋渡し役になれると考えています。ユーザも私たちも自分たちの利益だけでなく、コミュニティへ還元していくという大きな責任があることを理解しています。例えば、オープンソースへ取り込んだほうが良い機能をユーザの声としてシェアするといった活動を指します。これは、相互間の敬意と協力を基盤とした革新的なコミュニティモデルです。このような活動に先行して取り組んでいる企業としてレッドハット社の存在があり、エンタープライズDB社はデータベース分野で同じアプローチをとっているのです。コミュニティが提供するデータベース本体にエンタープライズシステムで必要となる機能とサポートをパッケージングすることでユーザ企業が使いやすい製品として提供する、そして得た利益をコミュニティに還元してPostgresをさらに良いプロダクトに成長させる、この循環こそが私たちの強みであり使命でもあるのです。

アシスト/田中: 私たちもサポートなど関連サービスを提供する企業として、一助を担えればと考えています。本日はありがとうございました。

集合写真


※ 記載されている会社名、製品名は、各社の商標または登録商標です。OracleとJavaは、Oracle Corporationおよびその子会社、関連会社の米国およびその他の国における登録商標です。

関連製品/サービス


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

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



ページの先頭へ戻る