TOP>企業情報>コラム>技術情報>FOSDEM 2015参加レポート

FOSDEM 2015参加レポート

FOSDEM 2015参加レポート


昨年イギリスに拠点を移した筆者が、海外のデータベース事情第3弾としてFOSDEM 2015の参加レポートをお送りします。

FOSDEM (Free Open Source Development European Meeting)は2001年から毎年1月末から2月頭にかけて、ベルギー ブリュッセルで開催されているオープンソースソフトウェア全般の開発に関するイベントです。無償ということもあり、近年では5,000人から6,000人規模の参加があります。また、出展するソフトウェアによってはFOSDEM開催期間の前後に個別イベントを開催することも多く、筆者が深くかかわるPostgreSQLについては前日に「FOSDEM PGDay 2015 」が開催されました。

高瀬 洋子(Youko Takase)

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

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

高瀬の紹介記事はこちら

全体概要

筆者は今回、ロンドンからユーロスターでブリュッセルに入りました。列車に揺られること約2時間で別の国にいるという状況は日本ではできない体験であり、ヨーロッパ全体がまるで1つの国のようだとつくづく思います。

欧州連合(EU)の本部やその他ヨーロッパの国際機関が置かれ「ヨーロッパの首都」と言われるブリュッセルは、街全体がとてもコンパクトにまとまっており、主要な場所には地下鉄やトラム、バスで簡単に行くことができとても便利な印象を受けました。

列車の様子

FOSDEM PGDay 2015


「FOSDEM PGDay 2015」の会場は、ブリュッセル中心の大広場として有名なグラン・プリュスにも近いマリオットホテルでした。

参加者は総勢100名ほどでしたが、翌日からのFOSDEM参加がメインということもあり、北欧、イギリス、フランスなどヨーロッパ各国から参加しており、個別の会話に耳を澄ますと様々な言語が聞こえてきました。

情報交換の様子

これまでのイベントと同じく、セッション間の休憩やランチタイムで参加者同士が気軽に情報交換ができる機会が設けられていました。それだけでなく、ヨーロッパではセッション会場の中でも偶然隣に座り合わせた人同士が、出身地やイベントに参加した理由といったお互いのことを気軽に聞き合える空気があります。日本ではイベントで顔を合わせた人に積極的に話す場面は多くありません。これは、挨拶の際に名刺を渡したりとどうしてもビジネスを意識してしまい、話しかけることを思わず躊躇してしまうせいかもしれません。そういう意味では、ヨーロッパの人たちは純粋にイベントを楽しみながら、多くの情報を吸収したいという気持ちが大きいように思います。

FOSDEM 2015


FOSDEMの毎年恒例の会場であるブリュッセル自由大学(ULB)は、ベルギー王国が独立して間もない1834年に創設された歴史ある総合大学です。

40種近いOSSの技術トラックが複数の校舎に分かれて並行で開催され、土曜日、日曜日の2日間で計200以上のセッションが展開されました。またブースを出展しているOSSもあり、規模は異なりますが同じOSS系イベントとして日本で開催されているオープンソースカンファレンスと雰囲気がよく似ていました。

ブリュッセル自由大学1

ブリュッセル自由大学2


Keynote


Keynoteは500人以上の収容が可能なFOSDEMのメイン会場の大講義室で開催されました。オープニングの挨拶が終わるころには続々と人が集まり、満席になるほどの盛況ぶりでした。

keynoteセッションの様子

アイデンティティの危機


「Identity Crisis: Are we who we say we are?」
スピーカー:Karen Sandler氏


スピーカーのSandler氏は弁護士の顔も持ちつつ、Free Software Foundation、Gnome Foundation、Software Freedom Conservancyなど複数の団体の主要メンバーとしても活躍するパワフルな女性です。

OSSの開発には、ボランティア、給与を受けているコントリビュータ、コミュニティの中心的なメンバーなどいろいろな役割で多くの人が関わっており、参加する理由も様々です。そのプロダクトが好き、開発が面白いという人もいれば、社会を良くしたい、自分が所属する企業やビジネスを繁栄させたいと思っている人もいることでしょう。開発コミュニティ自体も個人の集合体で運営されているものもあれば、一企業が活動をコントロールしているものもあります。

Sandler氏は、OSSコミュニティの中で議論や活動に参加する上では「自分がなぜその場にいるのか」「何を主張したいのか」を常に意識することがとても重要だと強調していました。

商用ソフトウェアの場合、製品開発に投資した金額以上の収益を得るという企業としての明確な営利的活動が基本にあるため、関わるメンバーの目指す方向は同じと言えるでしょう。一方、非営利的な側面が大きいOSSに企業が何らかの形で関わる場合、コミュニティの方向性と企業の意向に対立が生じる可能性はあります。しかし、企業の積極的な参画によって、ソフトウェアが広く認知され、結果として多くのユーザからのフィードバックが製品の技術的進化につながるとすればコミュニティにとっても大きなメリットです。「コミュニティ・アライアンス」という言葉が登場して久しいですが、私自身、ビジネスでOSSを利用する立場として、コミュニティと企業がうまく折り合いをつけて共栄する仕組みを意識した活動が必要だと強く感じました。

PostgreSQL新機能、周辺モジュール


参加したPostgreSQLセッションの中から、注目度の高い新機能、周辺モジュールをご紹介します。

大規模データを適切に分散配置


「Scaling out PostgreSQL for write-intensive workloads」
スピーカー:Marco Slot氏


Slot氏が所属するCitus Data社は分析データベースを展開している企業で、PostgreSQLを列指向ストレージに対応させる外部データラッパ「cstore_fdw」の開発などを積極的に手がけています。今回紹介されたのはpg_shardと呼ばれる拡張モジュールで、テーブル単位で複数ノードにデータを水平分散することができる仕組みです。

1台のマスターノードと複数台のワークノードで構成され、pg_shardはマスターノードに保持されたワークノードとテーブル情報を元にアクセスすべきノードを認識します。アプリケーションからマスターノードにSQLが渡されると、pg_shardが内部でSQLを書き換えて各ワークノードから必要なデータを取得するという流れです。pg_shardはSELECTだけでなくINSERT/UPDATE/DELETEといった更新処理にも対応しており、その上、モジュールのインストールはマスターノードのみでよく、同機能のその他モジュールに比べて設定や運用がシンプルという点が特徴です。

複数ノードをまたいだトランザクションをサポートしていないなどの制限はあるものの、大容量データの扱いが増えている近年、画像やメッセージを1つの大きなテーブルで管理するようなウェブアプリケーションでは、pg_shardの利用により顧客IDをキーとしてデータを複数ノードに簡単に分散配置し、性能確保が実現できます。

次バージョン 9.5の新しいWALフォーマット


「New WAL record format in PostgreSQL 9.5」
スピーカー:Heikki Linnakangas氏


PostgreSQL Global Development Groupの主要開発メンバーの一人であるLinnakangas氏からは、2015年秋にリリース予定となっている次バージョン 9.5の新しいWALフォーマットが紹介されました。新しいバージョンの話とあって会場には多くの参加があり、床に座って聴講する人の姿も見られました。

次バージョン 9.5の新しいWALフォーマット


WALはデータの更新履歴が時系列に格納されるファイルで、障害からのリカバリやストリーミング・レプリケーション環境でスレーブサーバへのデータ伝播などに利用されます。PostgreSQL 9.5でのWALフォーマットの変更により、更新履歴がよりシンプルかつ分かりやすい形式で格納できるようになります。セッションでは開発担当者ならではということで、ソースコードを比較しながら新旧のフォーマットの違いが説明されましたが、PostgreSQL 9.4と9.5で同一UPDATE処理にて生成されるWALデータ量の比較では9.5のほうが最大3割抑制できたとのことでした。

プラグインの位置づけでPostgreSQL 9.4に新たに実装されたロジカルデコーディングと呼ばれる機能は、WALファイルからINSERT/UPDATE/DELETEによる変更情報を抽出でき、同期レプリケーションや監査、オンラインUpgradeなどの様々な機能を実装する基盤として注目されていますが、WALフォーマットが見直されたことにより、ロジカルデコーディングをはじめWAL情報を利用する各機能の効果が存分に発揮されることが期待できます。

次バージョン 9.5の外部データラッパ新機能


「Foreign Data Wrappers in PostgreSQL : Where are we now ?」
スピーカー:Ronan Dunklau氏


外部データラッパ(以下、FDW)はPostgreSQLと外部データベースやファイルなどをつなぐ機能で、PostgreSQLへの段階的なデータ移行やETLツールとして重要な役割を担っています。読み取り専用の機能としてPostgreSQL 9.1に組み込まれて以降、バージョンアップとともに機能が強化され、9.3ではpostgres_fdwなど更新処理が可能なFDWが登場しました。

postgres_fdwを利用してリモートサーバのテーブルをローカルに取り込む場合、現行ではテーブル単位で個別に設定が必要ですが、9.5で実装予定の「IMPORT FOREIGN SCHEMA」コマンドを利用すると、リモートサーバのスキーマ配下のすべてのテーブルまたはオプションで指定したテーブルを一括で取り込むことができ、設定や管理が容易になります。また、将来的には、リモートサーバのテーブルをパーティションテーブルとして利用できるようにINHERITS(継承)オプションの組み込みも提案されており、FDWによるシャーディングで処理の負荷分散が実現できます。

MySQL新機能、話題の仮想化技術


PostgreSQLと並ぶ主要なOSSDBであるMySQLの機能とその他話題のテクノロジーをご紹介します。

MySQLで可用性、高速性を実現するプロキシ


「ProxySQL : High Availability and High Performance Proxy for MySQL」
スピーカー:Rene Cannao氏


MySQLに対応するプロキシにはMySQL ProxyやHAProxyなど複数のモジュールが存在していますが、開発進捗が思わしくなかったり、MySQLプロトコルを認識しないなどの制限事項があります。

今回紹介されたProxySQLはデータベースとアプリケーション間を透過的につなぐ役割をし、コネクションプーリングやロードバランスといった基本的な機能に加えてクエリリライトやクエリキャッシュ機能の実装されています。セッションでは各機能の性能検証の結果も紹介され、sysbenchによるMySQL自体のクエリキャッシュとの性能比較では、32スレッドで最大3倍のTPSが得られることが確認できています。またクエリリライトとクエリキャッシュとを組み合わせて利用することでさらに最大8倍の性能向上が期待できます。

ProxySQLは開発中のモジュールですが、動的な設定変更やSSLやSQLインジェクション検知などのセキュリティ強化や管理用GUIツールの提供など多くの機能実装が計画されており、実用化に向けた活動が着々と進められています。

大注目の仮想化技術「Docker」


「Docker Integration in oVirt and IaaS」
スピーカー:Federico Simoncelli氏


「Docker」とは米国Docker社が開発するオープンソースのコンテナ型仮想化技術で、日本国内でも高い関心を集めているテクノロジーです。FOSDEMのVirtualisation(仮想化)トラックでもDocker、IaaSといったキーワードで300人規模の大講義室が満席になるほどの盛況ぶりでした。

大注目の仮想化技術「Docker」


Dockerは仮想環境にOSを含まない「コンテナ型」アーキテクチャを採用しており、アプリケーションの実行に必要なミドルウェアやライブラリなどを1つのコンテナにまとめて管理します。アプリケーションを実行する環境を簡単に複製できたり、リソースを節約できる点などのメリットがあります。

スピーカー Simoncelli氏が所属するレッドハット社はRHEL7でDockerを正式サポートしており、同社が開発を進める仮想マシンの管理インターフェース「oVirt」でDockerコンテナを管理する仕組みを整えつつあります。さらにoVirtにはGoogleが開発したDocker向け管理ツール「Kubernetes」との連携機能も組み込まれており、仮想環境やクラウド環境においてDockerコンテナの素早い展開から管理、運用までを費用と負荷を抑えて実現できる下地が揃ってきたと言えます。近い将来的にはHadoopやOpenstackもコンテナに含め、あらゆる処理に対応可能な仮想データセンターの実現が計画されています。

※oVirtの構成情報を管理するデータベースにはPostgreSQLが採用されています。( http://www.ovirt.org/Architecture

終わりに


今回初めて参加したFOSDEMは、昨年参加したPostgreSQL単独のイベントと比べて、参加人数など規模の大きさに圧倒されたことは言うまでもありませんが、OSSによって技術トラックの進め方にも特徴がでていたことが興味深い点の1つでした。

会場が大学だったせいか、学生と思しき姿も至るところで見かけました。OSSはコミュニティ、ビジネスともに人材育成が重要な要素の1つです。OSSそのものを開発できる人材、OSSを利用したシステムの構築・運用ができる人材、OSS上で稼働するアプリケーションを開発できる人材など必要とされるスキルは多岐にわたります。情報系のコースを専攻する学生がFOSDEMのようなイベントに参加してOSS開発者と交流を深めることは、将来にわたりOSSの開発と利用を継続していく上でとても有意義な機会だと言えます。イベント会場として大学の施設を利用することはコスト面でのメリットはもちろんですが、OSSにおける循環型の人材育成という大きな位置づけがあるのだと感じました。

関連製品/サービス


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

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



ページの先頭へ戻る