小規模なDBであれば、PostgreSQLで十分
次に、移行WGメンバーである富士通エフ・アイ・ピーの多田明弘氏が登壇し、PostgreSQLへの移行のポイントや注意点について説明した。まず、多田氏は、実際に商用DBからPostgreSQLへの移行を経験した感想として、「PostgreSQLへの移行作業で感心したのは、意外に軽量トランザクションであれば、商用DBと同等にさばくことができた。一方、苦労した点は、PostgreSQLの機能が移行元の商用DBと同様には使えないということ。また、思いもよらない“基本的な部分での仕様差”があった。このほか、性能問題への調査、対応方法の手段が少ない点にも苦労した」と話す。
富士通エフ・アイ・ピーの多田明弘氏
こうした点を踏まえて、「確かにPostgreSQLは、商用DBよりも劣っている部分はあるが、劣っている部分の影響が小さければコストや使用条件などで優位となるケースも多い。特に、小規模なDBであれば、PostgreSQLで十分であると感じている」とした。
PostgreSQLへの移行のポイントについては、「DBを含むシステム移行では、要件定義から基本設計、詳細設計、テストまで、PostgreSQLに関連する作業を全て見積もる必要がある。中でもテスト工程は重要であり、単体テストと統合テスト、性能テストの見積もりは必ず実施してほしい」と指摘する。
その理由として多田氏は、PostgreSQLへの移行作業にかかる時間の9割がテストとエラー修正で占められている実情を紹介。移行に当たり、「DB非互換(機能、仕様)の調査不足」と「未知のDB仕様差による結果異常」の2つの原因からエラーが発生し、この修正に時間が取られてしまっているという。そこで、PostgreSQLへの移行においては、「非互換の機能差と仕様差を考慮し、正確な移行コストを見積もること」「テスト工程は単体テストの段階から実施し、調査不足の非互換や未知の仕様差に対応すること」が重要であると訴えた。
「PostgreSQLの主要機能については、商用DBとの差はほとんどなくなっており、個々の機能レベルもバージョンアップによって機能不足感は減少している。一方、仕様については、基本的な部分で仕様差が存在し、対応にはアプリケーションの構造の見直しが必要な場合もある。例えば、除算を含む計算結果や、トランザクションの実行結果、制約チェックのタイミングなどが異なるケースがある」
これを踏まえて、PostgreSQLへ移行しやすい条件として、(1)単純なRDBMSの機能だけを利用している、(2)ストアドプロシージャ、パッケージを使っていない、(3)保守時間を確保できる(24時間運用ではない)、(4)性能要件がシビアではない――の4点を挙げ、「PostgreSQLへの移行が必要がどうかは、移行コスト、運用面、性能面を考慮して判断することが大切だ。その際には、移行ノウハウを持っているPGECons参加企業などの知見を適切に活用してほしい」とアドバイスした。
最後に、黒澤氏が再び登壇し、今後の活動について、「成果物でメンテナンスが必要な点は随時検討を継続し、年度にかかわらず都度公開できるようにしていく。また、移行見積もりに関しての議論を継続し、成果として形にしたい。そして、PostgreSQLへの移行に対する懸念を少しでも減らせるような活動を目指していく」との方針を述べた。