PosgreSQL導入のためANAシステムズが行ったガイドライン策定の取り組み
オープンソースのデータベースという選択
これまでOracleDBを使ってきた同社だが、海外景気の下振れ懸念やLCCの台頭など、会社を取り巻く状況が変わってきたため、構造改革の必要に迫られてきた。それに伴い、吉村氏の所属部署でもITコストの削減を検討することになった。
OSでは折しもLinuxが広く使われるようになってきており、オープンソースが注目されはじめたこともあって、同社でもOSSを活用できないかの検討を始めた。Linuxについては使用しているシステムが増えてきたため、次にデータベースでも採用できないかという話が進んだ。
インフラアーキテクチャを考える上で、ITコストを最適化しつつ、必要な品質を守るという観点で、OSS含めて採用する製品の検討を始めた。その際考慮したのがレベルに見合った製品を選択するという点だった。
これまでは品質を保つことのできる1製品を選択してきたが、すべてのシステムで同じレベルの要求をこなす必要があるのかといえばそうではなく、それぞれのレベルに合った品質を持った製品を選択するのが最適解であるとの結論に至った。
そこで、データベースに関しては、OracleDBとともにOSSのソフトを使うことができるか、どんなシステムで使えるのかということで名前が挙がったのが、PostgreSQLを検討した最初だった。最終的に、OracleDB、PostgresPlus Enterprise Edition、PostgreSQLの3製品を使い分けていくことにした。
なぜPostgreSQLを選択したか
なぜ数あるOSS製品の中からPostgreSQLを選択したのか。一番の理由は、既に使われていたOracleDBからの移行が容易なことが挙げられる。さらに技術者のスキルも移行が容易であることからもあって、SQL ServerやDB2など、他の商用製品も含めて検討したものの、OracleDBに近いアーキテクチャを持つPostgreSQLが選択されることになった。
コスト面でもOSS活用によるメリットは大きいが、もう一つの有名な製品であるMySQLを選ばなかったことについては、やはりOracleDBからの移行メリットという点でPostgreSQLが適しているとの結論に至ったからだった。
また、OracleDBと互換機能を持つPostgres Plus Enterprise Edition(以下、Postgres Plus)を使うことで移行のハードルが下がるということも理由の一つだった。
Postgres Plusは、PostgreSQLをベースにEnterpriseDB社が開発した企業向けのDB製品で、最近までPostgres Plus Advanced Serverと呼ばれていた。特長として、例えばOracleのPL/SQLが同じ構文で利用できるなど、OracleDBとの互換機能を持つことが挙げられる。Oracle用のアプリケーションをそのまま使うことができることや、データ移行ツールがあることも大きな特長である。
ガイドライン作成にあたって
ANAシステムズでは、Oracleのガイドラインが既に定着、浸透しており、こうしたガイドラインを使ってシステムを構築・運用するのが通例になっていた。そのため、PostgreSQLを活用するにあたって、ガイドラインがないと切り替えが進めづらいと吉村氏は感じていた。ただ、それまでPostgreSQLに関するノウハウがほとんどなかったため、ガイドラインの作成と同時にノウハウを習得しようと考えた。
OracleDBの時と異なり、体系だった資料が少なく、ガイドラインの作成を検討するのはかなり困難だった。Postgres Plusについては公開情報自体が少なかったため、コンサルティングの依頼が必要だと判断。株式会社アシストにコンサルティングを依頼することになった。
アシストを選択した理由は、社内で使用する3つのデータベース製品に対するサポートや教育、構築、コンサルティングを行っていることや、今後の移行や教育を行っていく上で、OracleとPostgreSQL両方のノウハウを持つことが決め手となった。
ガイドライン作成は2013年9月より開始し、半年後の2014年3月に完成。分析計画からSQLコーディングまで6種類のガイドラインを完成させた。
最初に検討したのが、どのシステムでPostgreSQL(Plus含む)を採用するかという、製品選択の基準だった。セミナー等で入手していた情報を参考に、同時実行性とデータベースの規模がある程度以上のレベルに関してはOracleDBを使うという切り分けを想定していた。
PostgreSQLのバージョンアップにつれて性能が上がり、OracleDBとの壁がなくなることも聞いていたが、ガイドラインは一定の品質を保つことも要求されることから、確実な線引きが必要だと考えた。
そこで、チームが出した結論として、同時実行数が256以上、必要なCPUのコア数が16以上という具体的な線を引くよう設定している。
また、もう一つの観点であるデータベースの規模については、おおむね1TBを超える場合はOraceDBを使用、それ以下の場合はPostgreSQLやPostgres Plusを使うようにしている。
特にデータベースの規模についてはPostgreSQLやPSEEと比べて、OracleDBのパーティション機能が優れていると考えているため、大規模なDBを使うにはその機能が性能向上や運用管理の面で必須になるということも考慮に入れて切り分けを行っている。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- アシスト、エンタープライズデータベース「Postgres Plus Advanced Server 9.3」の各種支援サービスを提供開始
- アシスト、オープンソースデータベース「PostgreSQL」の各種支援サービスを新バージョン9.4に対応
- アシスト、「PostgreSQL」および「Postgres Plus」のプロダクトサポートサービスに複数年サポート契約プランを追加
- システムインテグレータ、「SI Object Browser for Postgres」の新バージョン2.0を提供開始
- アシスト、短期間で高品質なPostgres環境構築を実現する「Postgresガイドライン・パッケージ」を提供開始
- エンタープライズDB、新しいPostgresトレーニングと開発者リソースを公開
- システムインテグレータ、「SI Object Browser」のPostgres対応版を提供開始
- EnterpriseDBのCTOに聞いた、エンタープライズ版PostgreSQLのこれから
- 【4/15開催】企業向けデータベースの新たなスタンダード 「EDB Postgres」の選定ポイント
- アシスト、自社の勤怠管理システムのデータベース基盤に「Postgres Plus Enterprise Edition」の最新バージョン9.4を採用