こんにちは、日立ソリューションズの吉田です。
以前、「OSSはボランティアが開発しているのか?」の回にご紹介したように、日本では2003年11月に「日本OSS推進フォーラム」が設立され、Linuxカーネルをはじめとして、よく使われるOSSの検証プロジェクトを実施しました。このプロジェクトで、性能や信頼性の検証、問題発生時に解決するためのツールの開発などをしたことにより、OSSはエンタープライズで活用できるレベルまで大きく前進しました。
OSS自体が日々成長を続けていく中で、そのような検証は1回だけ行えばよいというものではなく、継続して実施する必要があります。とはいえ、一企業で実施するのは非常に困難なので、さまざまな団体を設立し、検証を続けてきました。そのような事例として「PostgreSQLエンタープライズ・コンソーシアム(PGECons)」をご紹介したいと思います。
PGEConsとは?
PGEConsは、2012年4月にNTT、富士通、NEC、日立製作所をはじめとする日本を代表するITベンダー10社によって設立されました。ミッションクリティカルなエンタープライズ領域へのPostgreSQLの普及を推進することを目的に、PostgreSQL本体および各種ツールの情報収集と提供、整備などの活動を行っています。このコンソーシアムの特徴は、ある特定のDBMS(PostgreSQL)にフォーカスして、日ごろ競争の現場にいるエンジニアたちが、業務として共同作業を行い、その成果を公開していることです。
PGEConsは、その後も会員企業が増え、現在正会員18社、一般会員34社で活動しています。当初は、「ワーキンググループ1:性能ワーキンググループ(WG1)」と「ワーキンググループ2:設計運用ワーキンググループ(WG2)」の2グループ体制で活動が始まりました。「WG1」では、役割を「ミッションクリティカル性の高いエンタープライズ領域への適応に向けて、本体・周辺ツールに関する技術ノウハウの共有」と位置づけ、活動テーマに「スケールアップ検証」と「スケールアウト検証」を掲げて活動を開始しました。
2012年度の活動成果報告会のスケールアップ検証では、コア数を増やした場合にリニアにスケールアップできるかどうかが関心事で、最大80コアで検証が実施され、それが実証されました。スケールアウト検証では、カスケードレプリケーションやpgpool-Ⅱ、Postgre-XCを使った構成を組んで検証しました。それぞれの構成の特徴が表れた結果となり、pgpool-Ⅱは参照系、Postgre-XCは更新系に強いという特徴が数値的にも証明されました。
一方、「WG2」では役割を「エンタープライズ領域へのPostgreSQL普及促進のためにPostgreSQLの経験の少ないDG技術者に向けた情報発信を旨とし、他のDBMSと比較した際の優位性・注意事項を明文化し、システム更新時の検討項目・手順を作成」と位置づけ、2012年度のテーマを「異種DBMSからPostgreSQLへの移行」と掲げました。現在、最も利用されているRDBは、Oracle Databaseです。そこで、Oracle DatabaseからPostgreSQLへの移行プロセスの指針を公開しました。なお、2013年度からこの活動を「移行WG」と名称を改めました。
2013年度の活動から、「ワーキンググループ3:設計運用ワーキンググループ(WG3)」が新設されました。設計と運用面に関する課題について考察をすることを活動の中心とし、安定的にPostgreSQLを運用していくためのシステム構成について検証しました。具体的には、可用性、バックアップ、監視などに注目しているWGです。
その後の活動
「性能WG」ではPostgreSQLのバージョンアップに伴い、「9.2」「9.3」「9.4」「9.5」のスケールアップの定点観測を行っており、バージョンアップとともにPostgreSQLが性能向上を図ってきたことがよくわかります。また、2014年度の活動から、物理環境以外でのデータベースの性能評価に着目し、KVMを使った仮想化環境とLinuxコンテナ環境について検証を実施しています。2015年度には、Linux OSの主要なディストリビューションの一つであるRed Hat Enterprise Linux 6と7とでPostgreSQLの性能比較も実施しています。
「移行WG」では、2013年度には新たに文字コード変換を伴うマルチバイトコードが含まれたデータの移行に関する調査結果や、SQL Server、DB2からのストアドプロシージャ移行に関する調査結果、チューニングの作業や具体的な作業内容などを追加しています。また、2014年度には活動目標を過去2年のものから少し変更し、移行後の試験をどうすればよいかにフォーカスしました。つまり、移行後の試験という避けては通れない作業を、実際にどう行えばよいかを検証しました。
また、「設計運用WG」では、HA(High Availability:高可用性)クラスタやレプリケーションについて実機検証を行ってきました。2014年度は多くの企業で関心が高い災害対策としてのディザスタリカバリ(Disaster Recovery:災害復旧)を実現する手法として、遠隔地サイトにあるスタンバイサーバに対してPostgreSQLに実装されているレプリケーション機能「ストリーミングレプリケーション」を使ってデータを送る構成で実機検証しています。
詳細については、本稿の最後に各年度の成果報告書のURLと要約を記しておきましたので、ご興味のある方はご覧ください。