TOP書籍連動> データベース移行の考え方




まるごと PostgreSQL!
PostgreSQLとOracleによるデータベース相互移行マニュアル

第1回:データベース移行
著者:奥畑 裕樹(OKUHATA, Hiroki)   2005/10/14
1   2  次のページ
データベース移行の考え方

   近年、システム構築の際にPostgreSQLが活用される例が増えてきました。そうした中で、古くなったシステムを置き換える際にPostgreSQLを活用したり、あるいは実験的にPostgreSQLで作ったシステムを商用データベースを用いたものに変更したりと、PostgreSQLと他のデータベース管理ソフトを相互に移行する機会に出会うことがあります。

   それでは、データベースを相互に移行するには、初めに何をしたらよいでしょうか?これは、PostgreSQLとOracleの間に限ったことではありませんが、「移行の対象となるもの」を特定することが大切です。

   データベースを移行する際には、主に次の3つの要素を移行する必要があります。

  • データ
  • システムに埋め込まれたSQL文
  • ストアドプロシージャ
   たとえば、ビジネスの変化と共に業務ロジックが変わり、システムを新規に作成する必要が出てきたとしましょう。その場合は古くなったシステムからデータだけ移行して、業務ロジックを表すシステム中のSQL文やストアドプロシージャは作り直す必要があるでしょう。逆に、既存のシステムをなるべく変えずにデータベースだけ置き換えたい、という場合は上述した3つの要素をすべて移行する必要が出てきます。そのため、何が移行の対象となるのかをはっきりさせる必要があります。

   次に、それぞれの移行要素に対して、機能性の違いから「移行できるもの」と「移行が難しいもの」が出てきます。移行できるものに対しては、以下のことを知る必要があります。そのためには2つのデータベースの違いを知ることが重要です。

  • そのまま通用するものは何か?
  • 変更する必要があるのはどこか?
  • それはどう変更すればよいのか?
   また、移行が難しいものに対しては、主に次の2つの対処法があります。

  • 足りないものは自作する
  • 呼び出し側のロジックを変更する
   足りないものを自作するとは、ユーザー定義のファンクションなどを活用して、移行先のデータベースに足りない機能を追加してしまうことです。しかし、中には自作が難しい機能もあります。そのように自作で対応できない場合は、対象となる機能を呼び出している側のロジックを変更して対応することも必要です。

   これらを踏まえて、次からそれぞれの要素の移行方法について詳しく見ていきましょう。


サンプルデータについて

   本記事で使用するサンプルデータは、次のURLから入手してください。

Oracle
  • tbl_oracle.sql
  • sample_oracle.sql
PostgreSQL
  • tbl_pg.sql
  • sample_pg.sql
1   2  次のページ

書籍紹介
まるごと PostgreSQL! Vol.1
まるごと PostgreSQL! Vol.1 日本での市場シェアNo.1(オープンソースRDBMS部門)データベースソフトPostgreSQLの最新情報を、開発メンバーを含む豪華執筆陣が多面的かつ詳細に解説します。PostgreSQL用クラスタリング/レプリケーションソフト、PostgreSQL⇔Oracle移行、PostgreSQLによる大規模サイト構築法、新バージョンPostgreSQL 8.0先行レビュー、PostgreSQL用.NETデータプロバイダ等々、他では読めない貴重な記事が満載です。

発売日:2004/12/08発売
定価:\1,890(本体 \1,800+税)
奥畑 裕樹(OKUHATA, Hiroki)
著者プロフィール
奥畑 裕樹(OKUHATA, Hiroki)
Javaとオープンソース技術を得意とする技術コンサルタント。最近のテーマは、ソフトウェア開発の全体最適をはかること。気が付けば、10才のときにプログラミングを始めて以来、常に何かを作っている…。


この記事の評価をお聞かせください
ボタンをクリックしますとウインドウが開きます。

INDEX
第1回:データベース移行
データベース移行の考え方
  データの移行
PostgreSQLとOracleによるデータベース相互移行マニュアル
第1回 データベース移行
第2回 データの移行(1)
第3回 データの移行(2)
第4回 SQL文の移行(1)
第5回 SQL文の移行(2)
第6回 SSQL文の移行(3)
第7回 ファンクションの移行(1)
第8回 ファンクションの移行(2)
第9回 ストアドプロシージャの移行(1)
第10回 ストアドプロシージャの移行(2)
第11回 ストアドプロシージャの移行(3)
第12回 ストアドプロシージャの移行(4)
第13回 まとめ