開発事例

株式会社 NTT データ CCS PostgreSQL 開発事例

JTBが発行するクレジットカード「JTB旅カード」のWebサイトを2009年4月よりオープンしました。
システム開発は、NTTデータCCSが担当、コンテンツ管理や会員情報管理にPostgreSQLとpgpool-IIの組み合わせで、障害対策と負荷分散を実現可能な構成を同社に提案しました。 pgpool-IIの利用は初めてという同社が6ヶ月という短期間でのシステム開発を成功させるために活用したのがSRA OSSのコンサルティングとサポートです。 同社ビジネスソリューション事業本部でデータベースの選定と設計作業にあたった福田 徹氏と現在システムの運用を担当する堀井 正政典氏にコンサルティングとサポートの活用例を 伺いました。(文中敬称略)

「JTB旅カード」Webサイトとは


JTB旅カードトップ画面

JTBが発行する「JTB旅カード」のWebサイトは、カード会員が利用するポータルサイトと、ポイント管理を行うバックヤード機能から構成されています。

今回会員向けサイトを構築することになったのは、従来クレジットカード会社で行っていたポイント管理をJTBに移管することで、顧客のニーズを反映した情報提供を行うCRMの役割を果たすためです。

「JTB旅カード」Webサイトはカードのリニューアルに合わせ2009年4月にオープンしました。


構成図

システム構成は、Webサーバ、アプリケーションサーバ、データベースサーバのWebの3層構造となっており、アプリケーションサーバとデータベースはコンテンツ用と バックヤード用の2つに分かれています。

OSS DB の活用でコストを削減

PostgreSQL の採用はどのように決まったのでしょうか?


福田 徹氏

福田:

JTB様からインフラで利用するソフトウェアの指定はありませんでしたので、システムの求める性能、可用性、コストの観点で選定を行いました。

まず、コストの面でなるべくシステム開発にコストをさけるようオープンソースデータベースの採用を視野に入れました。

そのなかで、PostgreSQL の他に MySQL や Firebird といったデータベース製品が候補にあがりましたが、社内で PostgreSQL を利用した業務システム経験が豊富にあったこと、公開されている事例などから今回のシステムでも十分利用可能と判断し PostgreSQL を採用することにしました。

可用性対策として pgpool-II を採用されていますがその理由はなんでしょうか?

福田:

ご存じの通り PostgreSQL はサードパーティーで可用性や性能を向上するソフトウェアがたくさんあります。

当初は、フェイルオーバー型のクラスタの採用を検討していましたが、スタンバイ側のサーバのリソースも有効活用したいということから、レプリケーションで 可用性を向上しつつ、負荷分散で検索性能の向上ができる pgpool-II を採用することになりました。

これにより、データベースサーバのリソースを有効活用しつつ、性能と可用性を向上できる構成ができました。

短期間のシステム開発の成功の秘訣:コンサルティングとサポートの有効活用

新規システム構築ながらプロジェクト期間が6ヶ月と短期間ですがどのようにプロジェクトを成功されましたか?


福田:

本システムの開発では、開発開始の段階で要件が決まっていないという状況でしたので、分析・設計・実装・テストを繰り返しながら開発を進めるアジャイル開発の手法をとりました。

概要設計が1.5ヶ月、分析・設計・実装・テストの構築はフェーズを3回に分けて3ヶ月、総合テストとプレ本番を1.5ヶ月というスケジュールで実施しました。

短期間でプロジェクトを成功させるために、当社はシステム PostgreSQL と pgpool-IIのデータベース部分の設計や構成設計をSRA OSS のコンサルティングを 活用することで短期間に抑え、システム開発部分に注力しました。

コンサルティングがシステム開発を行ううえでどのように役に立ちましたか?

福田:

今回採用することにした pgpool-II は、豊富な機能もさることながら多種多様な構成をとることができます。

構成設計の段階で、このシステムで実現したいことを伝え、それを実現するのに最も適した構成を相談して決めていけたことがとてもよかったです。

時間があれば当社でも検証などを行い決めていくことができたかもしれませんが、経験豊富なコンサルタントの意見で時間面の短縮が図れたと考えています。

あわせて PostgreSQL/PowerGreseサポート&保守も活用されていますが。

福田:

構成設計など、ミーティングをしながら進めていくべきところはコンサルティングで、それ以外の開発段階でのPostgreSQL や pgpool-II の使い方や注意点などはサポートを活用しました。

シーケンスという連番を発行するデータベースの機能を利用していましたが、クラスタ構成の場合はアプリケーション開発でも工夫が必要です。

そういった場合にどのように解決するのが良いか、という点はサポートに相談して短期間で解決することができました。

また、システム開発段階からかかわっていただいたことでそのあとのサポートや保守もスムーズにいくのではと考えました。

運用の状況と今後の展望

カットオーバーから半年を過ぎましたが運用状況はいかがですか。


堀井 政典氏

堀井:

大きなトラブルもなく順調に稼働しています。

私は、PostgreSQL の運用をするのは初めてで、バックアップや VACUUM の運用に関して不安もありましたが、SRA OSS のサポートに相談することで日々解決することができています。

今後の展望はいかがですか。

堀井:

新規開発したシステムですので、まずは1年間安定運用を行うことを最優先に考えています。

その後の展望としては、チューニングとPostgreSQLのバージョンアップを視野に入れています。

まず、チューニングは、会員数も増えてきていることと無停止で運用を続けていることから性能の問題が出てくると考えています。

チューニングや性能面で効果のあるメンテナンスなどを実施していきたいと考えています。

PostgreSQLのバージョンアップは決定事項ではありませんが、PostgreSQLでは新しいバージョンが出るたびに運用性の強化が行われているので非常に魅力を感じています。


株式会社NTTデータCCS

本社
〒140-0002 東京都品川区東品川四丁目12番1号
品川シーサイドサウスタワー
TEL : 03-5782-9460 FAX : 03-5782-9499
URL:http://www.nttdata-ccs.co.jp/
資本金 3 億 3,000 万円
設立 1970 年 4 月