日本電信電話株式会社(本社:東京都千代田区、代表取締役社長:三浦惺、以下、NTT)と、企業向けにオープンソースデータベースの製品やサービスを提供する米国EnterpriseDB社※1(本社:米国マサチューセッツ州ウエストフォード、最高経営責任者:Ed Boyajian、以下、EnterpriseDB)は、金融機関の入出金処理システムのようにデータ更新を伴うトランザクション※2の多いアプリケーションに対して、データベースサーバを複数台に分散化することで性能が拡張(透過的にスケール)できる新しいクラスタ技術“Postgres-XC (eXtensible Cluster)”を開発し、この度オープンソースとして公開しました。今後、オープンに機能拡張や試験導入のパートナーを募集し、クラウドサービスにおいてより使いやすく、コスト競争力のあるデータベース環境の実現をめざします。 今回の開発は両社間で2008年10月に締結した包括的パートナーシップに基づき、オープンソースのデータベース管理システムであるPostgreSQL※3をベースに開発されたものです。 |
| 1. |
アプリケーションを透過的にスケールさせるフルオープンソースのデータベース・クラスタ技術 |
|
|
従来のオープンソース・データベースのクラスタ技術では、データベースサーバを複製することでデータ参照性能を向上することはできましたが、ノードをまたがったトランザクション管理の仕組みが不十分なため、データベースサーバを増やしてもアプリケーションによってはデータ更新性能が向上しませんでした。つまり、データ更新を伴うトランザクションの多い業務アプリケーションでの性能向上には限界があり、場合によってはクラスタ構成用にアプリケーションの変更や再設計が必要でした。Postgres-XCでは、データベースサーバ間で共通にトランザクションを管理する技術(グローバルトランザクション管理技術※4)を導入することにより、データ更新性能を向上させるとともに、アプリケーション側で特にクラスタ構成を意識したプログラムやアプリケーションプログラムインタフェース※5の修正が必要ない“透過的スケールアウト”を、フルオープンソースで実現しています。 |
2.汎用サーバで実用的に十分な性能スケールを実現 |
|
Postgres-XCの性能を評価するために、汎用サーバを使ったクラスタ構成10台でECサイトのベンチマーク試験を実施したところ、クラスタ構成1台での性能と比較して、サーバあたり83%の処理性能※6を実現しました。商用データベース製品のクラスタ技術では、特殊な高性能プロセッサや高価な共有ストレージを前提としていることが多いですが、Postgres-XCではフルオープンソースと汎用サーバの組み合わせでも、実用的に十分な性能スケールを実現しています。 |
3.グローバルかつオープンな開発体制 |
Postgres-XCではオープンソースであるPostgreSQLの最新機能をフルに活用するとともに、開発成果やロードマップをオープンにし、今後、グローバルな開発者およびユーザのコミュニティの中で機能拡張や試験導入を通した改善がされていくことが期待されます。なお本成果のコードおよびドキュメントは、以下のURLからダウンロードできます。
http://postgres-xc.sourceforge.net/
また本成果は5月20日からオタワで開催されるPostgreSQL Conference 2010で報告される予定です。
http://www.pgcon.org/2010/schedule/events/226.en.html |
<関係者のコメント> |
| - |
「今回のNTTとEnterpriseDBとの共同成果は、オープンソースのPostgreSQLを社内システムやクラウドサービス基盤にさらに導入しやすくするために必要な、信頼性やスケーラビリティの向上を狙ったものです。NTTでは、グローバルなPostgreSQL開発コミュニティへのこれまでの貢献が認められ、昨年12月には社員が“主要な貢献者”※7として選ばれており、これからもコミュニティを中心としたオープンソースの活動に積極的に取り組んでいきます。」(宇治 則孝、代表取締役副社長、NTT) |
| - |
「データベースの企業ユーザはいま、社内で最もコストのかかるデータベース用途に対しても、オープンソースによる代替手段を求めています。それがPostgres-XCが提供するものです。PostgreSQLの利用拡大は我々の最大のミッションであり、NTTと共同でPostgres-XCを開発した理由もそこにあります。Postgres-XCをコミュニティに提供することで、PostgreSQLのエコシステム拡大に大きく貢献するとともに、低コストで優れた企業向けデータベースとしての評価をより強固なものにしていくでしょう。」(Ed Boyajian、最高経営責任者、EnterpriseDB) |
| - |
「現実世界のニーズに基づき、企業の枠を超えた開発協力が実現されてきたことが、オープンソースを成功に導いてきた。つまり今回の成果こそがオープンソース開発そのものであり、今後より大きなオープンソースコミュニティでのさらなる改良が期待される。EnterpriseDBとNTTはPostgreSQLの発展に向けた大きな布石を打ったといえるだろう。」(Matt Asay、最高業務執行責任者、Canonical社) |
|
(用語解説・補足) |
| ※1 |
米国EnterpriseDB社(EnterpriseDB Corporation)=高機能なオープンソースデータベースであるPostgreSQLをもとにした製品やサービスでIT部門を支援する企業向けPostgreSQLカンパニー。同社のPostgres Plus製品シリーズは、トランザクション処理性能が求められる企業向けアプリケーションに対して性能・拡張性・(コスト削減のための)商用製品との相互運用性を実現。2004年に設立され、北米・欧州・アジアに事務所を持ち、本社は米国マサチューセッツ州ウエストフォード。TEL:+1-978-589-5700、URL:www.enterprisedb.com |
※2 |
トランザクション=金融機関のコンピュータシステムにおける入出金処理のように、一連の作業を全体として一つの処理単位としてまとめたもの。トランザクションが多いアプリケーションでは、データベースへの参照と更新が大量に発生し、性能ボトルネックになりやすい。 |
※3 |
PostgreSQL=米国カリフォルニア大学にて開発された“Postgres”をベースとするオープンソースのデータベース管理システム。近年、特に機能・性能・信頼性が向上し、商用(非オープンソース)製品と比べ遜色なくなってきている。 |
※4 |
グローバルトランザクション管理技術=複数のリソース(データベースやテーブルなど)にまたがるトランザクション(グローバルトランザクション)について、整合性を担保しながら処理する管理技術のこと。 |
※5 |
アプリケーションプログラムインタフェース=あるOSやミドルウェア向けのソフトウェアを開発する際に使用できる命令や関数の集合、あるいはそれらを利用するためのプログラム上の手続きを定めた規約の集合のこと。 |
※6 |
サーバあたり83%の処理性能=Postgres-XCによるクラスタ構成を前提に、サーバ1台構成での処理性能(1秒あたり処理できるトランザクション数)を100%とした場合に、サーバ10台構成での1台あたり処理性能として83%が観測された。なお、Postgres-XCのクラスタ構成によるオーバヘッド負荷は約30%と観測されているため、クラスタ構成をとらないPostgreSQLで同じ処理を行った場合、サーバあたり処理性能は約140%となる。 |
※7 |
“主要な貢献者”=グローバルなPostgreSQL開発コミュニティの中で、特に機能開発や品質向上などに貢献があったメンバーが“主要な貢献者”(Major Contributors)として認められます。昨年12月に、NTTオープンソースソフトウェアセンタの板垣 貴裕が、日本人としては4人目の“主要な貢献者”に選ばれています。 |
|