サイト内検索
サイト内検索を閉じる

マイグレーションとDBは同時に変更できるのか?

2021/11/24

マイグレーションと同時にDBのバージョンアップ を検討されるお客様が増えています。
実際お客様からマイグレーションと同時にDBもバージョンアップ したいとリクエストを良くいただきます。サーバOSや言語をバージョンアップ するのであれば、DBも同時にバージョンアップ するほうが、費用的にもお得だと言えます。このブログでは言語のマイグレーションと同時にDBのバージョンアップ をする場合どのような作業が発生するのか、DBのマイグレーションでOracleをPostgreSQLにマイグレーションする場合の方法や懸念点などを解説していきます。

1.言語のマイグレーションと同時にDB(データベース)を変更する

言語をマイグレーションする際、DBは現行通りかバージョンアップの選択をする必要があります。多くのシステムでは初期開発の際に言語、サーバOS、DB等の製品群を同時期にリリースしており、OSのライフサイクルとDBのライフサイクルが同じことが多いためです。
DBは現行製品のバージョンアップ版に入れ替えれば、多くの製品が下位互換を保証しているため、マイグレーション時の変更量は少なくて済みますし、費用も抑えることが出来ます。しかし、現行製品のランニングコストが高い、現行製品がマイナーな製品のため保守での技術者不足に懸念があるなどの理由で、製品の変更を検討される方も多いです。

2.DBのマイグレーションについて

DBのマイグレーションでの具体的な作業はDB関連ロジックの変換になります。
先ほども書いた通り、同一製品のバージョンアップの場合は、基本的な仕様 が同じであるため、バージョンアップに伴って変更された仕様を変換します。
しかし、別製品に変更する際は現行DB製品の仕様と新たな製品の仕様が違うため、比較して対応方法を変換ルールとしてまとめます。さらに現行ソースを分析して現行製品特有の命令や関数を使用している箇所を洗出し、新しい製品の仕様の中でどのように同じ動作を実現するか検討する必要があります。
DBの製品を変更する際は現行製品特有の命令や関数を使用している箇所や種類の多さ、新しいDB製品での実現方法の複雑度によって費用が上下します。
検討の結果、変換ルールが単純な場合には、自動変換ツールに変換ルールを取り込みますが、単純ではない場合は手作業で変換を実施する必要があります。
手作業での変換箇所が多くなると作業量が増加して費用が増加します。
また、基本的なことですがDB製品を変更する際は、マイグレーション対象以外のシステムからDBを参照していないかを調査する必要があります。
この調査をせずにDBの変更を進めてしまい、開発途中で発覚した場合DBを戻す等の作業が必要になり、余計な工数が発生しますし、途中での方針変更は品質が悪化するリスクが高まります。

\うまくいくマイグレーション/
基幹システムのマイグレーションを検討されている方はこちら!

\オープンマイグレーションとは?/
マイグレーションについて詳しく知りたい方はこちら!

3.Oracle(オラクル)をPostgreSQLに変更するには

ここで最近ご相談いただくことが多いPostgreSQLへの変更を少し紹介します。
OracleからPostgreSQLにDBを変更する際は、先に述べたDBを別製品に変更する際と同じ対応になります。OracleとPostgreSQLの仕様の違いを明らかにして変換ルールとしてまとめます。具体的には変換ルールに従ってSQLを変更するとともにOracleの独自関数をPostgreSQLで同じ動きをさせる必要がありますので調査が必要です。
Oracleの独自関数をどれぐらい使用しているかは、各システムによって違いがあります。
弊社のマイグレでは、ソース分析を実施する際にマイグレーションのチェック項目に加えPostgreSQL移行の観点でも調査を行い、異なる仕様や独自関数の使用有無と種類を明らかにします。その後の移行設計で実現方法を検討して、プロトタイプ開発で動作検証を行い、変換ルールをチューニングした後、一括変換と単体テストを実施します。調査、検討、動作検証を経て一括変換を行うことで変換品質を高く保っています。DBの組合せによる変換ルールはこれまでの実績から色々なパターンに対応することが可能です。

4.PostgreSQLに変更する際の懸念

OracleからPostgreSQLにDBを変更する際は、サーバ側では 文字コード「SJIS」に非対応である事に注意が必要です。他のシステムとの兼ね合いを考えて、DB内のデータの文字コードを変換するか、対象システムがDBからデータを読み込む際と書き込む際に文字コード変換するかを検討する必要があります。
適切な箇所で文字コード変換ロジックを入れないと想定外のところで不具合が発生することになり、品質悪化を招きます。
つぎに PostgreSQLに変更することで保守費用を抑えられますが、 PostgreSQLはOracleと違いサポートがありません。
現状の保守でどれぐらいOracleのサポートを利用しているか実績から判断できると思いますので、引き続きDBのサポートが必要かを検討して、必要であればベンダーが提供しているPostgreSQLのサポートを受ける必要があります。

5.まとめ

マイグレーションと同時にDBのバージョンアップを実施してライフサイクルを長くすることは可能ですが、同じDB製品の最新バージョンにバージョンアップする場合とDB製品を変更する場合ではロジックの変更量の大小で費用感が変わってきます。この判断はマイグレーション費用だけではなく保守も含めた費用で決定する必要があります。短期的にマイグレーション費用を抑えるほうが良いのか、長期的に保守費用も含めて抑えるほうが良いかは、状況により変わると思いますが、両方の対応に対して弊社はお客様に最適な提案が出来ると思っています。

当サイトでは、システム移行について迷われている企業様向けに、マイグレーションをわかりやすく説明している資料をご用意しております。「システム移行 変換率と品質向上サービス オープンマイグレーション基本ガイドブック」は、システム移行時の注意点やポイントが理解できる資料になっています。情報収集中の方や、具体的な解決策を探している方は、ぜひ、当ページより資料をダウンロードください。

\システム資産の棚卸/
資産棚卸サービスの活用を検討されている方はこちら!

その他ブログのご案内

オープンマイグレーションサービスでは、その他下記のようなブログをご用意しております。

おすすめブログ

過去ブログ

すべての記事

PAGE TOP

サービスに関する資料をご希望の方は、フォームに必要事項を入力いただき、ご送信ください。

資料を請求する

お問い合わせ
各種お問い合わせページ
お問い合わせフォーム
サービスに関するお問い合わせ
お電話
0800-600-9810
携帯電話
050-5816-9805
受付時間 9:00~12:00 13:00~17:00(土・日・祝日を除く)

更新日時:2023年1月6日 13時38分