データベースを乗り換える敷居はかなり高い
前回、構成によってはOracleよりもDB2のほうがライセンス費用が安くなる可能性があると指摘した。確かにライセンス費用が安くなるのは、大きなメリットになるはずだが、だからといって実際にデータベースシステムを乗り換えるとなると、それはたやすいことではない。
いざ乗り換えを実施するとなれば、利用しているアプリケーションが正常に稼働するようにプログラムを大きく手を入れることになるだろう。そして、移行作業が終われば正常に稼働することを、十分にテストし確認しなければならない。この移行作業に手間と時間がかかれば、そのための技術者費用が発生することになり、ライセンス価格の差などはあっという間に吹き飛んでしまいかねない。
ライセンス費用の削減だけを目指すのであれば、オープンソースのデータベースに乗り換えるという手もある。しかしながら、OracleやDB2などの商用データベースからの乗り換えとなると、それはかなりの苦労を覚悟する必要がある。
苦労が大きくなる可能性が高いので、よほどスムーズに移行できないとコストメリットは発揮できない。データベースは本来、標準のSQLに準拠していれば言語的には同様なもののはずだが、実際にはデータベースごとに細かいレベルでSQLの仕様は異なっている。そのため、移行時にはこの違いを理解し、適宜システムに合わせプログラムを書き換える必要があるのだ。
とはいえ、言語仕様が異なる程度の差ならば、何度か移行作業を経験すれば、何をどう書き換えればいいかといったことを技術者なら比較的容易に修得できるはずだ。データベースの標準的な機能だけを利用しているシステムであれば、変更部分はデータベースごとの方言を解釈するようなもので、プログラムのちょっとした書き換えだけですむはずだ。
問題となるのは、AのデータベースにはあるのにBにはその機能そのものがないといった場合だ。この場合は、似たような機能で代替できれば、それを使ってなんとか誤魔化すか、あるいは存在しない機能そのものを別途作るかしかない。商用データベースには豊富な機能が揃っているが、オープンソースではそうはいかない。
そのため、商用からオープンソースへの移行の際には、新たに必要な機能を外部プログラムで作るか、便利な機能を諦めるといったことになりかねない。こういう機能を多数作るとなれば、当然ながら大きな手間とコストがかかり、そもそも作った機能の信頼性も心配となる。商用からオープンソースへの移行では、この苦労はかなり大きくなることが予測される。