企業ニーズを満たすべくPostgreSQLが進化した「EDB Postgres」
EDB Postgresは、企業向けデータベースに求められる機能を実装してPostgreSQLを大きく進化させたデータベースであり、図1のような3つの主な特長があります。
まず、「性能」「拡張性」「運用管理」「セキュリティ」「可用性」などの非機能要件については企業で利用できるレベルに強化されています。特にパーティショニングやOLTP処理の性能向上、異種データベースとのデータ連携、統合運用管理、自動チューニング機能など、実際に企業内でEDB Postgresを運用することを前提とした機能が充実しています。
2つ目は提供元であるエンタープライズDB社による質の高いサポートです。エンタープライズDB社にはPostgreSQL開発コミュニティの主要コミッタが複数在籍しており、PostgreSQLと共に成長するというビジョンを掲げ、PostgreSQL本体の開発にも積極的に参画しています。そのため、企業向けデータベースとして利用する場合のサポート面でも不安はありません。
3つ目の特長はサブスクリプション・ライセンスと呼ばれる年単位のサポート付き使用権での提供形態です。サブスクリプション・ライセンスはソフトウェア資産ではなく経費として処理できること、さらに、永久ライセンスコストを支払うのではなく必要な期間の利用権を購入し、ビジネスに合わせて柔軟なライセンスを選択できます。さらに、物理環境、仮想環境問わず、データベースサーバに割り当てられたCPUコアのみをライセンス対象としているため仮想化環境やクラウド環境で利用しやすい点も大きな特長となっています。
主要エディションである「EDB Postgres Enterprise」は図2にあるようなOracle Databaseとの高い互換性やパフォーマンス・チューニングに便利な機能を備えた独自エンジンと周辺ツールにサポートが合わさってパッケージングされており、開発生産性と運用管理性を大きく向上させます。
次項では、EDB Postgresの活用例をご紹介します。
社会インフラ基盤を支えるEDB Postgresの信頼性と性能
2016年2月18日にエンタープライズDB社主催のイベント「EnterpriseDB Summit Tokyo 2016(EDB Summit)」が開催されました。事例セッションでは、大和総研ビジネス・イノベーションのEMS(エネルギー・マネジメント・システム)への導入事例が紹介されました。
電力の利用を可視化、最適化するEMSには、社会インフラのデータ管理にふさわしい高い信頼性と処理性能が必須だったことはもちろんですが、ビジネス自体が立ち上がり段階だったことからシステム開発費用の抑制という相反する要件が求められていました。これを同時に満たしたのが「EDB Postgres」だったのです。(※本事例の詳細はこちらのページをご参照ください。)
数万のエンドポイントから送信される電力データをオンライン処理できる性能と信頼性をEDB Postgresが実現しています。
仮想インフラで最大52倍の性能向上を実現
アシストでも、2012年より利用しているオープンソースの勤怠管理システム「MosP(モスプ)」の利便性をさらに向上させるため、2015年4月に仮想インフラへの移設とあわせてバックエンドのデータベースをPostgreSQL 9.3からEDB Postgres 9.4へ変更し、システム環境を刷新しました。
EDB Postgresで提供されるエンタープライズ機能の1つである「Postgres Enterprise Manager」(PEM)は、図3のようにグラフィカルな統合コンソールからEDB Postgresのデータベースサーバを監視し、管理やチューニングに有用な情報を提供することでデータベースの運用管理を強力に支援します。
例えば「SQL Profiler」や「Index Advisor」などのコンポーネントにより、負荷が高いSQLを容易に特定できるだけでなく、その負荷を軽減するための索引作成のアドバイスも自動で提供します。
アシストではEDB Postgresへの移行後にPEMを利用してシステムの稼働状況を確認し、CPU負荷が高いSQLを特定しました。そしてPEMのアドバイスに従って適切な箇所に索引を作成した結果、システムのレスポンスを以下のとおり大幅に向上させることに成功しています。
- 向上例1 管理者が勤怠データを一括表示する速度を最大52倍高速化
- 向上例2 承認者が勤怠データを一括承認する時間を最大7倍高速化
このように、弊社システムにおいてもEDB Postgresを仮想インフラで動作させ、標準実装されたチューニング機能によって性能改善を実現しています。また、その他にもEDIやECサイトなど様々なシステムで、同じようにEDB Postgresを仮想インフラへ導入し、成果を上げている事例が多数あります。
昨今、物理サーバやストレージ、VMWareに代表される仮想化管理ソフトウェアの目覚ましい技術進歩により、仮想インフラでデータベースを動作させることは一般的になりつつあります。
技術的にはクリアできる一方で、データベース・ソフトウェアのライセンスが採用のハードルになるケースがあるのも実状です。データベースサーバに割り当てられたCPUコアのみがライセンス対象となるEDB Postgresであれば、規模や用途に応じてライセンスコストを最小限に抑えることができます。(※本事例の詳細はこちらのページをご参照ください。)