富士通が提供する国産データベース「Symfoware」では、V12よりオープンソースソフトウェア(Open Source Software、以下OSSと略す)のデータベースである「PostgreSQL」を取り込むことによってオープン性をうたう製品の提供を開始した。富士通では、なぜ自社製データベースのオープン性を追求するのか?その真相に迫る。
[2015年4月24日掲載]
―このたび自社製データベースのSymfowareにOSSデータベースであるPostgreSQLを取り込んだということですが目的は何でしょうか?
中村:
一番はお客様のニーズである「OSSファースト」に応えるためです。OSSファーストというのは、システム導入にあたって最初にOSSが適用できないか?という可能性を探るという考え方です。お客様はOSSを採用することで「コスト削減」や「全世界に何万人と存在するコミュニティおよびそこに蓄積されているノウハウの活用」などのメリットを享受したいという思いがあります。
このようなお客様のニーズに応えるために「Symfowareにオープン性を持たせるためにはどうしたらよいか?」という検討をしていく中でPostgreSQLを取り込むというアプローチに辿りつきました。
千田:
Symfowareにオープン性を持たせることよって様々な物と繋げていくことができるようになるため、システムに応用が利くと私どもは考えています。PostgreSQLの持つオープンなインターフェースによって周辺のパッケージやソリューション、基盤製品など非常に豊富なソフトウェアがサポートされていますので、それらを活用できるようになります。それによってお客様に対して提案の幅が広がりますし、提供できるソリューションがたくさん出てきますので結果的にお客様にとってメリットが多くなります。
【オープンなインターフェースによって応用が広がる】
―「オープン性」によりお客様とベンダー双方がメリットを享受できるということですね。そもそも、なぜPostgreSQLなのでしょうか?他にもOSSデータベースはあると思うのですが?
中村:
当社ではOSSが一般的に広まる前からPostgreSQLの持つ可能性に着目していました。PostgreSQLはデータベースとしての基本機能に定評があり、優れた拡張性を備えていることから、私どもが考えていたプラグインによる機能の実装に適していました。また、開発コミュニティも先進技術の取り込みに意欲的で、最先端の技術がキャッチアップされ常にアップデートされていきます。
このように優れた可能性を持つPostgreSQLを何とか活用できないか?という思いから、当社社内で長年にわたりPostgreSQLを色々な場面で研究・利用してノウハウを蓄積していました。
こうした中、近年OSSというものに注目が集まりICTシステムへの適用が進んできました。私どもにもお客様から「自社システムのデータベースにPostgreSQLが適用できないか?」といった具合に、先ほど述べた“OSSファースト”の考えに基づいたご相談も増えてきました。こうした際にも今まで培ってきたPostgreSQLのノウハウが役立つ場面が何度もありました。
―「自分達の目に狂いはなかった」と・・・。
千田:
はい。まさに時代が追いついてきたという感じがしました。このように長年培ってきたノウハウがあることがPostgreSQLを選択した最大の理由です。もう一つ大事なことをあげると、PostgreSQLはきちんとコミュニティが独立して活動しているため開発状況などの先行きが見通しやすいというのも選択の理由です。
―自分達でPostgreSQLをしっかり使ったうえで選んだという訳ですね。しかしPostgreSQLを企業で利用する場合にはバージョンアップ時の互換性保証、アプリケーション資産の長期保証、トラブル時の迅速な対応などサポート面に不安があるお客様もいらっしゃるのではないでしょうか?
千田:
確かにPostgreSQLの導入におけるサポートは重要なポイントです。まず、こうした不安に対して富士通が“安心”を保証します。さらに、企業ユースということを考えると「性能」「信頼性」そして「運用性」の3つのポイントが重要だと考えています。そして、それぞれのポイントでは以下のようなことに考慮するべきだと考えています。
これらのポイントを踏まえて考えると、現在のPostgreSQLではお客様が企業ユースのエンタープライズ利用を行うにはまだ足りない部分があるのが現実です。
いっぽう当社では30年以上前からミッションクリティカル領域での利用に耐えうるデータベースとしてSymfowareという商用データベースを開発しています。そこで、PostgreSQLの技術に長年の商用データベース開発で培った技術を合わせることでお客様のニーズに応えることができるのではないか?と思い、SymfowareにPostgreSQLを取り込むことで、商用データベースの持つ高信頼性とOSSデータベースが持つ自由度を両立することができると考えました。
―『足りない部分があるのが現実』ということですが、取り込まれたPostgreSQLは強化されているということですか?
千田:
はい。当社が長年培ってきた技術によりオリジナルのPostgreSQLに対して機能強化や機能追加を行った仕様になっています。
例えば、エンタープライズ利用で求められる機能として、データベースに格納するデータや通信を暗号化する「透過的暗号化」や、データベース破壊が起きた際でもデータを直前の状態に復旧できる「WALの二重化」を追加しています。
また、管理画面にあるボタンをクリックするだけでデータベースの設定や復旧ができる「スマートセットアップ / スマートリカバリー」を追加することで、誰でも簡単に使えるようにしています。
さらに、他社データベース製品からの移行性を高めるために「他社SQLの互換構文」の強化や「Javaストアドプロシージャ」を追加しています。
―なるほど。しかし、これらの機能強化や機能追加がなぜ「オープン性」の追求につながるのですか?
中村:
先に述べましたオープン性というものに対し私どもは「仕組み/機能としてのオープン」と「運用性/使い勝手としてのオープン」があると考えています。前者がPostgreSQLを使うことで得られるオープン性ということに対し、後者は私どもがこの製品を提供するうえでのポイントにしているオープン性と考えています。
例えば、通常リカバリーというと「どの部分で障害が起きているのか?」を調べたうえで、バックアップしたデータの中から「どのデータを使って」「いつの時点に戻す」など煩雑なことをやらないといけません。多くのシステムではこれが辞書のように厚い手順書になっています。この障害の切り分けといった作業をデータベースシステムが自動的に判別し処理することで、利用者の復旧操作をボタン1つにするということを実現しています。
このように「運用性/使い勝手としてのオープン」というのは「誰でも利用できる」ということだと私どもは考えているのです。そういった部分に注力してPostgreSQLの機能強化や機能追加を行っています。
―PostgreSQLを使うことで得られるオープン性と、機能強化や機能追加で得られるオープン性の2つによりオープン性を追求しているということですね。ところで、OSSにおける機能の開発というのはコミュニティとの関係も重要だと思うのですが?
千田:
コミュニティとは常に連携を取っています。例えばトラブルがあった場合にコミュニティに問い合わせたりすることもありますが、調査や修正作成などに時間がかかることもあります。そういうときには私どものメンバーでPostgreSQLの中身を理解している開発者が修正を作成することもあります。もちろん、その修正はコミュニティにフィードバックをして『自由に使ってください』と申し出ています。コミュニティからも色々なものを頂いているためこのようなフィードバックによる貢献も行っています。
中村:
当社はPostgreSQLコミュニティの一員としてコミュニティを支援する立場でもあります。
テーブルスペース機能など私どもからコミュニティへ提案を行ってPostgreSQLに採用された機能もありますし、先に述べたように修正パッチの提供も行っています。また2012年4月11日に発足した企業情報システムへのPostgreSQL普及を推進する団体「PostgreSQLエンタープライズ・コンソーシアム」には理事企業として参画しておりコンソーシアムをリードしています。さらに「日本PostgreSQLユーザ会」に協賛会員として参加したり、さまざまなカンファレンスにもスポンサーとして参加しています。特にPostgreSQL の国際カンファレンスである「PostgreSQL Conference(PGCon)」ではGold Sponsorsとして支援しています。
千田:
最初に中村が述べたように技術者が全世界に何万人といるOSSの世界では、最先端の技術は常々アップデートされていきます。ただ、企業ユースとなった際に、信頼性や業務継続性のプラスアルファが必要だと考えて取り組んでいます。こうした私どもの取り組みをコンソーシアムやコミュニティの活動に繋げて、PostgreSQLというデータベースを盛り上げて行くことができればと考えています。
―PostgreSQLに採用された機能もあるのですか?お話を聞いていると『PostgreSQLをどう活かしていくか?』にフォーカスした機能開発やコミュニティ活動をされているのですね。
中村:
そのとおりです。私どもはオープン性が高く定評があるPostgreSQLを非常に評価しています。ベンダーというものは、色々なものをスタックして垂直方向に展開してきました。しかし、これからは水平方向にも広げていきたいという思いがあります。いままで蓄積してきたノウハウや技術をPostgreSQLに提供することで横の広がりが出せるとよいと思っています。
―OSSデータベースと商用データベースのハイブリッドデータベースによって、お客様とコミュニティとベンダーの3者がWin-Winの関係になるということは素晴らしいですね。お話ありがとうございました。
次回は、エンタープライズ利用に不可欠とされ追加した機能について、実際の開発者に開発経緯や苦労などをお聞きします。WALの二重化とはどのように実現したのか?性能などに課題は無かったのか?PostgreSQLコミュニティとの具体的な関わりは?それぞれの技術者の挑戦に迫ります。
本ページに記載された内容は、掲載日現在のものです。その後予告なしに変更されることがあります。あらかじめご了承ください。