OSS(オープンソースソフトウエア)を活用する企業が急増している。この動きは、データベース領域にも拡大。最近では、機能の豊富さや扱いの手軽さから、「PostgreSQL」を採用するケースが目立っているという。PostgreSQLは企業システムをどう変えるのか。注目の製品を紐解くことで、探ってみたい。
[2016年6月24日掲載]
ICT技術が目覚ましく進化した現在、企業におけるシステムの活用用途はかつてないほど多様化している。そんな中、多くの企業で適用が進むのがOSS(オープンソースソフトウエア)だ。
例えば、OSSであるLinuxをベースに構築した業務システムや社内ポータル、社外向けWebサイトなどは、すでに珍しい存在ではない。これは、ベンダーに縛られず、開発コミュニティで生まれる新技術をいち早く自社システムに取り込める点などが、多くの企業に歓迎されているからだ。また同時に、システム構築のアプローチが「まず仕組みありき」から、「何をやりたいのか」へと様変わりする中で、自由度の高いOSSが注目されていることも背景にあるだろう。
佐野 哲也 氏
富士通株式会社
ミドルウェア事業本部 データマネジメント・ミドルウェア事業部 プロダクト技術部
アシスタントマネージャ
こうしたOSSを評価する流れは、あらゆる企業システムに欠かせないデータベース製品の領域でも進んでいる。富士通で長年データベースの企画・開発に携わる佐野 哲也氏は次のように語る。「データベース領域におけるOSS活用ニーズは、ここ5年ほどで急増しています。中でも最近、活用例の多いOSSの筆頭としては『PostgreSQL』が挙げられるでしょう。これは、コミュニティ活動が盛んで、新しい機能がすぐ活用できるといったメリットが高く評価されているから。事実、すでに無数の企業システムでPostgreSQLは活用されており、ユーザーが知らず知らずのうちに、その恩恵にあずかっているケースも多いのです」。
しかし、PostgreSQLをビジネスで本格的に利用しようとする場合には、まだ大きなハードルもあるという(図1)。
【図1】PostgreSQLをクラスタ構成で運用する場合の課題
PostgreSQL以外のソフトウエアが必要になり、入手や組み合わせの検証などをユーザー自身で行わなければならず、導入・運用に手間がかかる
例えば、企業システムに求められる高い信頼性を確保するためにベンダー製データベースを用いる場合は、クラスタ構成にするのが一般的だ。その際は、障害対応に備えるリカバリーツールや運用管理を効率化するためのツールもベンダーから一括で提供されることが多い。
一方、同様の環境をPostgreSQLで実現するのはそう簡単ではない。なぜなら、稼働系/待機系を自動で切り替え、高可用性を実現するクラスタソフトウエアや、運用管理に必要なツールなどを自ら用意し、適切に組み合わせる必要があるからだ。
「クラスタソフトウエアや運用管理ツールなどはすべてOSSで揃えることができますが、当然、組み合わせて問題なく動作するかを検証するには時間とスキルが必要です。また、OSSはそれぞれ異なるコミュニティで開発・提供されているため、運用時の疑問などを迅速に解決するには、各コミュニティに参加することも必要です。さらに、ソフトウエアの一部が修正された場合も、その修正が問題なく機能するかどうかを再検証する必要があるでしょう。これらを自社で行おうとすると、エンジニアに大きな負担がかかってしまうのが実情です」(佐野氏)
高い信頼性が求められるシステムに、PostgreSQLをどう適用するか――。この課題に対し富士通が提案するのが、データベース製品「FUJITSU Software Symfoware Server(PostgreSQL)」[以下、Symfoware Server(PostgreSQL)]だ(図2)。同製品では、PostgreSQLをベースに、富士通が長年培ってきたデータベース技術で信頼性・運用性を補完。OSSの強みと、ツールの一括提供や高品質なサポートといったベンダーの強みを兼ね備えた製品として展開している。
【図2】「FUJITSU Software Symfoware Server(PostgreSQL)」
高い信頼性・安全性と開発自由度の高さなどを兼ね備えた、幅広い用途で使えるデータベース製品となっている。PostgreSQLの最新バージョン9.5に対応(2016年度提供)。
「今や、新しいICT技術が登場するのも、それらが実用レベルに達するのも、ベンダー製品よりOSSが先になりました。実際、OSSの世界で生まれた技術である『Hadoop』を、ベンダーが自社製品に取り込むまで数年を要したケースもあります。これは裏を返せば、OSSの積極活用が、ビジネススピードを高めたり、成長の重要な要素になる時代が来ているということ。そこで当社は、PostgreSQL活用時の信頼性や運用性に関わるハードルを下げ、より幅広いビジネスに適用できる状態にすることが急務だと考え、同製品を展開しています」と佐野氏は説明する。
この方針の下、Symfoware Server(PostgreSQL)では、OSSの導入に不安を持つユーザーも、安心して高い信頼性が要求されるシステムにPostgreSQLを適用できるような機能や、容易な導入・安定した運用を実現するサービスが多数提供されている。
1つ目が、PostgreSQLのクラスタ構成に必要な各種ソフトウエアを事前検証した上で提供するものだ。これにより、OSSに精通したエンジニアがいない企業も、容易にPostgreSQLを自社データベースに採用することが可能になる。「当社は、PostgreSQLの研究・開発を10年以上にわたり行ってきました。そこで蓄積したノウハウを生かし、PostgreSQLに対するサポートサービスも、当社製品と同じレベルで提供しています」と佐野氏は説明する。
加えて、実際の運用に際してのサポートも手厚い。Symfoware Server(PostgreSQL)では、長期保証や開発コミュニティのメンテナンス期間が終了したバーションも含めた障害修正、トラブル時の調査など、他の富士通製品と同様のサポートが用意されており、OSSだからといって特別な運用体制をとる必要がないよう配慮されている。
2つ目が、有事のリカバリー作業を容易にする機能の提供である。例えば、通常ハードウエアが故障した場合は、故障箇所を特定して修理した後、ダンプデータからリカバリーを行う必要がある。複数のOSSが関連する状況では、この一連の作業はかなり難易度の高いものになりがちだ。「この問題を解消するには、クラスタ構成のあり方を見直し、構造自体をシンプルにする必要があります」(佐野氏)。
そこでSymfoware Server(PostgreSQL)では「データベースの二重化」を実現している(図3)。これはその名のとおり、「正」サーバーの完全コピーを「副」サーバーとして運用するもの。2つのデータベースはリアルタイムに同期しているため、「正」サーバーで障害が発生した場合は、「副」サーバーに切り替えるだけで業務を継続できる。有事にリカバリー作業のために業務を止める必要がないだけでなく、「副」で運用を続けながら「正」サーバーの復旧を行うことが可能になる。また、このシンプルな仕組みは特別な機器を必要としないため、仮想環境やサーバーに搭載された内蔵ディスクでも運用できる。
【図3】データベース二重化
サーバーやストレージが故障した場合は、データベースを切り離すだけのシンプルな対応で業務を再開できる。また共有ディスクを用意する必要がないため、導入コストも抑えられる
「さらに、上位のエディションでは、『正』がダウンした場合、10秒以内に自動で『副』に切り替わる機能も実装。中小規模からより大規模かつミッションクリティカルなシステムにも適用できるようにしているほか、正常稼働時には『副』を参照系データベースとして利用できるようにもしています」と佐野氏は話す。これは富士通が独自開発した技術であり、企業データベースに必要な高い信頼性を担保する上での、Symfoware Server(PostgreSQL)の強みといえるだろう。そのほか、ユーザーそれぞれの環境に合わせた冗長化構成にも、柔軟に対応可能だという。
次回VOL.2では、高い信頼性を実現する他の機能群の紹介に加え、今後の企業データベースで重要度が高まる性能面の特長や、導入事例について紹介する。
本特集は、日経BP社の許可を得て「ITpro Special」に掲載(掲載期間:2016年5月24日~2016年6月20日)された内容より転載したものです。
記事作成時点の情報のため、その後予告なしに変更されることがあります。あらかじめご了承ください。