EnterpriseDBのCTOに聞いた、エンタープライズ版PostgreSQLのこれから
EnterpriseDB社は、オープンソースのデータベースソフト「PostgreSQL」をベースにしたエンタープライズ向けの製品やサービスを提供する企業である。Oracle Databaseとの互換性を加えた「Postgres Plus Advanced Server(PPAS)」などが代表的な製品だ。
EnterpriseDB社の日本法人であるエンタープライズDB株式会社は7月17日、カンファレンスイベント「EnterpriseDB Summit Tokyo 2014」を都内で開催した。後援は、エンタープライズ分野でPostgreSQL普及を推進する国内企業などが集まったPostgreSQLエンタープライズ・コンソーシアム(PGECons)。
EnterpriseDB Summit Tokyo 2014に、EnterpriseDB社CMOのKeith Alsheimer氏と、同社シニアデータベースアーキテクトでありPostgreSQL開発グループの共同設立者/コアメンバーでもあるBruce Momjian氏が来日した。EnterpriseDB社とPostgreSQLについて、二人へのインタビューでの言葉に、それぞれの基調講演での言葉を合わせて紹介する。
なお、Momjian氏はかつて日本の株式会社SRAに勤務していたこともあり、今回は2009年以来の来日だという。
「LinuxにおけるRed Hatのような役割」
「PostgreSQLにおけるEnterpriseDBは、LinuxにおけるRed Hatのような役割です」。——Alsheimer氏はEnterpriseDB社について、このように説明する。
PostgreSQLはオープンソースソフトウェア(OSS)で、使うだけなら無償で利用できる。これはLinuxも同じで、LinuxカーネルはOSSであり、その上で動くシステムソフトウェアも多くがOSSだ。Red Hatは、そのLinuxでエンタープライズ向けに、ハードウェアやソフトウェアの動作認定や、サポート、エンタープライズでの不具合や機能改善などによって、ビジネスとして成功した。
EnterpriseDBも同様に、PostgreSQLをベースに、エンタープライズ向けに機能を追加し、さらにサポートやトレーニング、サービスなどを提供してビジネスしている。
EnterpriseDBが開発した機能のうち、一般に有用な機能については、PostgreSQLに還元して取り込まれている。「PostgreSQL 9.3でのマテリアライズドビューや、9.1での最大64コアまでのスケーラビリティ、8でのHOT(Heap-Only Tuples)などがその例です」とAlsheimer氏は説明する。
同時にEnterpriseDBは、PostgreSQLコミュニティを支援する立場にある。同社では、Momjian氏を含むPostgreSQLコアメンバー2名を始めとして、PostgreSQLの開発者を雇用している。
「Bruce(Momjian氏)たちが大使のような役割となって、EnterpriseDBとPostgreSQLコミュニティを緊密につないでいます」とAlsheimer氏。「コミュニティが開発を主導し、EnterpriseDBがエンタープライズのニーズを吸い上げるという役割で、常に協調関係にあります」。
Momjian氏も、「PostgreSQLはエンジニア視点で作られて発展していますが、エンジニアが評価しきれないエンタープライズの要件もあります。例えば、ツールや互換性、サポート、現場のエンジニア、などで、それは企業が得意な部分です」と説明する。「EnterpriseDBのユーザーの声をコミュニティに反映したり、コミュニティの必要としているものを把握してEnterpriseDBが助けたりと、両者の巨大なリソースを互いにつなげるのも私の役割です。EnterpriseDBの役目は、コミュニティの手が届かない領域にPostgreSQLを拡大していくことにあります」。
Oracle Databaseから最小のコストで移行
PPASなどEnterpriseDB社の「Postgres Plus」は、PostgreSQLをベースにした商用製品だ。両者の関係について尋ねると、Alsheimer氏は「コミュニティ版の機能をPostgres Plusはすべて含んでいて、そこに機能を追加しています。パフォーマンスやセキュリティなどにおいて、さまざまな企業のワークロードに応えるための機能で、パーティショニングの強化や行ベースのセキュリティなどがあります」と答えた。
「Postgres Plusの中でも、PPASのキーとなる追加機能は、Oracle Databaseとの互換性です。PostgreSQLの上のレイヤーとして機能を追加するだけでは、トランザクション性能に影響を与えてしまいます。PPASではPostgreSQLのコア部分に変更を加えて、Oracle DatabaseのPL/SQLをサポートしています」(Alsheimer氏)。
こうしてEnterpriseDBではOracle DatabaseからPPASへの移行を推進している。Alsheimer氏は「Oracle Databaseを使っていた既存のアプリケーションのコードを、少しの書き換え、または書き換えなしで、PPASに移行できます。データベース管理者(DBA)の再教育も不要です」と語る。
では、EnterpriseDBのPostgres Plus製品を採用する企業はどこを求めているのだろうか。追加された機能だろうか、Oracle Databaseとの互換性だろうか、サポートなどのサービスだろうか。
それを尋ねるとAlsheimer氏は「それは顧客により異なります」と答えつつ、「多くの割合がOracle Databaseからの移行で、そうしたケースではOracle Databaseとの互換性が評価されています」と答えた。
「そのほか、DB2やSQL Server、MySQLからの乗り換えもあります。そうしたケースではセキュリティやパフォーマンス、あるいはトレーニングやサポートなどが評価されてると思います。ちなみに、われわれの最大の顧客はDB2からの乗り換えです」(Alsheimer氏)。
Alsheimer氏の基調講演では、PostgreSQLがMySQL以上に成長していると語られた。これについて氏はインタビューで「PostgreSQLはMySQLと比較してエンタープライズ向けだと見られてきましたが、機能や強固さを求める人が増えたのかもしれません」と説明。さらに「もうひとつ、OracleがMySQLを買収して、ユーザーが将来を心配していることもあるのかもしれません」とコメントした。
KTの移行事例の講演も
実際に、エンタープライズ分野における、Postgres PlusやPostgreSQLの採用状況はどうなのだろうか。それについてAlsheimer氏は「PostgreSQLもPostgres Plusも好調で、採用が劇的に増えています。EnterpriseDBも、この3年間、70〜80%の成長が続いています」と自信を見せる。
Alsheimer氏は大手採用例のひとつとして、今回のEnterpriseDB Summit Tokyo 2014でユーザー事例として講演した韓国の通信企業であるKT社を挙げ、「ミッションクリティカルな部分での採用が続いています」と語った。
KTは日本でいえばNTTのような位置にある企業だ。講演したKTのHojae Lee氏も、「きわめて保守的な企業」と説明していた。しかし、コストを削減して競争力を高める必要を背景に、Oracle DatabaseからPPASに移行したという。
Lee氏はPPASを採用した理由として「PostgreSQLのコミュニティの信頼性」「ソフトウェアの安定性」「PPASのさらなる安定性」「Oracleとの互換性」を挙げた。「オープンソースといえども無料ではなくコストは必要」と経営層に説明し支持を受けて、PPASとサポートを採用したという。そのほか、自分たちでの検証や、DBAや開発者のサポートなどにも努めたことが講演で紹介された。
異なるワークロードの要件に対応する「middle-out」
一方、PostgreSQL 9.2以降では、JSON型のデータをサポート。現在ベータ段階のPostgreSQL 9.4ではバイナリJSON型をサポートするなど、バージョンごとにJSON関連の機能を強化している。JSON内のデータのSQLからのクエリやインデックスにも対応しており、Momjian氏は基調講演で「(JSON形式に特化したNoSQLデータベースの)MongoDBよりクエリが速い」と主張した。
Oracle Databaseのようなエンタープライズ、MySQLのようなインターネットサーバー、MongoDBのようなNoSQLと、異なる3つの方向を強化しているPostgreSQL。その中でどれが重要なのだろうか。
それについてAlsheimer氏は「すべて重要です。世の中にはさまざまなデータの要件があるからです。PostgreSQLは最も柔軟なデータベースシステムであり、1つのソフトウェアでいろいろなワークロードに対応できます」と答えた。
NoSQLデータベースは、プログラマーにとってはスキーマレスで迅速に開発できることが人気だ。「しかし、NoSQLで開発してしまうと、IT管理者にとっては大変です。NoSQLではビジネスロジックがすべてアプリケーションに置かれるため、データの再利用性や整合性に難があります。GartnerのアナリストであるNick Heudecker氏は『2017年にはNoSQLにあるデータの50%は害を及ぼすものになるだろう』と言っています」とAlsheimer氏は主張した。
これをPostgreSQLはどう解決するのか。筆者の疑問にAlsheimer氏とMomjian氏は、ACID準拠なSQLデータベースの中にデータ型としてNoSQLのデータを格納することで、NoSQLのスキーマレスな柔軟性を、データの整合性やロジックのある中で利用できると説明した。
「そのほか、複数のデータベースシステムを利用するとなると、サポートやトレーニングが大変です。PostgreSQLがすべてのワークロードに対応することで、複数のデータベースのサポートやトレーニングが不要になります」(Alsheimer氏)。
こうしたPostgreSQLの多方向への対応について、Alsheimer氏もMomjian氏も基調講演で「middle-out」と表現した。
「かつては、商用データベースほどエンタープライズに強いわけでなく、MySQLほど簡単ではない、という“middle”でした。今は、エンタープライズ対応も簡単さも両立し、さらにNoSQLのワークロードにも対応した、革新的な“middle”となりました」(Momjian氏)。
これからPostgreSQLが強化していくこと
今後のPostgreSQLおよび、EnterpriseDBのPostgres Plusの強化点について、両氏に尋ねた。
Alsheimer氏は、「エンタープライズからNoSQLのクラウドまで対応し、垂直方向の拡張性(大型ハードウェアへの対応や並列処理など)と水平方向の拡張性(シャーディングなど)を拡大していくでしょう」と語った。
Momjian氏もそれに同意し、「それに加えて、さまざまなデータソースのソースをシームレスにアクセスするフェデレーション機能(FDW:Foreign Data Wrappers)の強化や、ロジカルレプリケーションによる柔軟なレプリケーションがあります」と補足した。
最後に、Momjian氏はPostgreSQLの歴史を振り返って、これまでとこれからについて熱意をこめて語った。
「PostgreSQLはまずアカデミックから生まれました。本番環境は得意ではなく、目標はクラッシュしないこと、という時代が2年ぐらいありました。それを克服した後は標準的なSQLに対応することを目指す時代となり、今ではほかのデータベースより標準に準拠しています。2001年以降はエンタープライズに対応する時代で、10年以上かけて必要な機能を追加してきました」(Momjian氏)。
そして「そうした、世の中にすでにある機能を追いかけて実装する時代は、ほぼ完了したと言っていいでしょう」とMomjian氏は語る。
「今は新しい段階に突入しました。これからは、柔軟に新しいアイデアを実装していく時代となるでしょう。これまでも、PostGISや範囲型のようにほかにないアイデアが生まれてきました。こうしたことは企業は得意ではありませんが、オープンソースは世界中からさまざまなアイデアを集めることができますし、PostgreSQLの開発コミュニティは信頼性や性能を維持しながら、新しいことができるコミュニティです。データベースを移行するのは今と同じ機能が実現できるからですが、本当に人々がワクワクするのは新しいことです。これから4年はPostgreSQLに期待できる時期でしょう」(Momjian氏)。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- エンタープライズDB、開発者の効率向上とDBA管理を支援する新バージョン「Postgres Plus 9.4」をリリース
- エンタープライズDBのCMO、PostgreSQLの静かな躍進を語る。
- システムインテグレータ、「SI Object Browser for Postgres」の新バージョン2.0を提供開始
- PostgreSQLのEnterpriseDB、リーンなビジネスでオラクルマイグレーションを推進
- ハイブリッドDBaaS戦略で企業のイノベーションを支えるEnterpriseDB
- アシスト、自社の勤怠管理システムのデータベース基盤に「Postgres Plus Enterprise Edition」の最新バージョン9.4を採用
- エンタープライズDB、PostgresとMySQLのデータベースをリンクするオープンソースツールを発表
- システムインテグレータ、「SI Object Browser」のPostgres対応版を提供開始
- アシスト、仮想アプライアンス「DODAI-V」を提供開始
- アシスト、エンタープライズデータベース「Postgres Plus Advanced Server 9.3」の各種支援サービスを提供開始