版 | 改訂日 | 変更内容 |
---|---|---|
1.0 | 2013/04/22 | 新規作成 |
2.0 | 2014/03/07 | 2013年度成果物の説明を追加。 |
3.0 | 2016/04/11 | 2015年度成果物の説明を追加。成果物の活用場面を整理。 |
4.0 | 2017/06/20 | 2016年度成果物の説明を追加。 |
本作品はCC-BYライセンスによって許諾されています。 ライセンスの内容を知りたい方は こちら でご確認ください。 文書の内容、表記に関する誤り、ご要望、感想等につきましては、PGEConsのサイト を通じてお寄せいただきますようお願いいたします。
エンタープライズ領域におけるPostgreSQLの普及を目的として2012年4月に設立されたPostgreSQLエンタープライズ・コンソーシアム(以降PGECons)では、技術部会におけるPostgreSQLの普及に対する課題の検討を通じて活動テーマを挙げ、その中から具体的な活動を行うため3つのワーキング・グループを設立しました。
WG2では、「異種DBMSからPostgreSQLへの移行」をテーマとして調査・検証を行い、収集した技術ノウハウを成果として取り纏めた資料を公開しています。
2016年度のWG2では、以下のテーマについて活動を行いました。
異種DBMSからPostgreSQLへ移行する際の移行作業コストを把握をするための情報提供を目的とし、2016年度は特に作業コストが高い「データベースオブジェクトの移行」をターゲットに整理しています。
WG2では、移行という広範囲に及ぶ技術内容を取り扱っているために、毎年度ごとに対象テーマを選定して活動してきました。このため、WG2の成果物は発足から現在に至るまでの成果の積み上げで成り立っています。
本資料は、読者の方が必要な情報を取り出すための索引として、以下のように構成しています。
WG2では異種DBMSからPostgreSQLへの移行作業に纏わる内容について、既存テーマの掘り下げや見直し、新規テーマの検討した活動内容を以下の成果物としてまとめています。
項番 | 成果物名 | 概要 | 活動年度 |
---|---|---|---|
1 | DB移行フレームワーク編 | 異種DBMSからの移行とは具体的に何を行うのかを紹介します。
DBMSの移行作業において一般的に発生すると考えられる作業工程を定義し、各工程における検討結果をベースとして移行可否判断の手がかりとなる情報を提供します。
|
2012
2013
|
2 | システム構成調査編 | DBMSの代表的なシステム構成とその特徴を挙げ、PostgreSQL移行時に採用可能な構成を紹介します。 | 2012 |
3 | 異種DB間連携調査編 | 異種 DBMSで稼動する既存システムとの連携を想定し、異種DBMSとPostgreSQL の連携について、実現方法や移行前後における機能差などを紹介します。 | 2012 |
4 | スキーマ移行調査編 | PostgreSQLへスキーマを移行する際に注意すべき点を調査し、異種DBMSとPostgreSQL間におけるDDL仕様の相違点や書き換えが必要なDDLの変換方法を紹介します。 | 2012 |
5 | データ移行
調査および実践編
|
異種DBMSからPostgreSQLへデータの移行するために必要となるデータ抽出(Extract)、変換(Transform)、およびPostgreSQLへの書き出し(Load)を中心に紹介します。また、本文書には実際にDB移行作業を実施したレポートが含まれます。 | 2012 |
データ移行
文字コード変換編
|
異種DBMSからPostgreSQLへのデータ移行に関して、文字コード変換をともなうマルチバイトコードの移行について事前に判断するための情報を紹介します。 | 2013 | |
6 | ストアドプロシージャ移行
調査編
|
異種DBMSとPostgreSQLのストアドプロシージャの仕様の差異から、PostgreSQLへストアドプロシージャを移行する際に注意すべき点について紹介します。 | 2012
2013
|
7 | アプリケーション移行
調査編
|
DB移行の際、DBMS接続用ドライバやエラーハンドリング、トランザクション制御方法の違いなどアプリケーション側で意識すべき内容について紹介します。 | 2012 |
8 | アプリケーション移行
実践編
|
Oracleを利用するオープンソースのソフトウェアをテーマとしてPostgreSQLへのDB マイグレーション作業を実際に行い、作業のポイントや移行作業の負荷などを紹介します。 | 2012 |
9 | SQL移行
調査編
|
異種DBMSとPostgreSQLが対応しているSQLの差異および、異種DBMSからPostgreSQLへのSQL文の書き換え方針について、DMLを中心に紹介します。 | 2012 |
10 | 組み込み関数移行
調査編
|
PostgreSQLの関数の互換性を調査し、DBMS毎の組み込み関数実装の有無や書き換えが必要な組み込み関数の変換方法を紹介します。 | 2012
2015
|
11 | チューニング編 | 異種DBMSからの移行の際、移行元システムで定義されていた性能要件や性能関連の状態、チューニングをポイントを確認してPostgreSQL構築に反映したり、PostgreSQL移行時に注意が必要なポイントを紹介します。 | 2013 |
12 | バージョンアップ編 | バージョンアップ編 PostgreSQLは毎年メジャーバージョンアップを行っており、新たに追加された機能を利用するには適切な手順でバージョンアップを行う必要があります。バージョンアップ編では、現在利用中のPostgreSQLをバージョンアップする際に使用するツールや操作方法をご紹介します。 | 2013 |
13 | 試験編 | 任意のアプリケーションが利用するDBMSを異種DBMSからPostgreSQLに移行した際に、移行したデータベースやアプリケーション等の移行結果の妥当性を確認する試験についてご紹介します。 | 2014 |
14 | DB選定基準編 | PostgreSQLを企業情報システムのDBMSとして選定する際の基準となる情報を纏めたものです。本来DBMSが備えるべき機能、サポートツール、コスト面、市場性といった一般的な視点で検討しています。 | 2015 |
15 | DB移行開発見積り編 | 異種DBMSからPostgreSQLへ移行する際の移行作業コストを把握をするための情報をご紹介します。 | 2016 |
企業情報システムの移行は、移行構想、移行計画、移行設計、移行開発、移行テスト、本番切替といった手順を踏んだ上で、本番運用に入ります。また各移行手順には、 図 5.1 上段に示すようなタスクを含むのが一般的です。WG2では異種DBMSからPostgreSQLへ移行する際の検討事項や技術情報として、 図 5.1 の下段に示すような領域で活動を進めています。
システム移行において活用して頂きたいWG2の成果物と、その場面を、移行手順と成果物マッピングで示します。
移行手順 | WG2活動領域 | WG2成果物の活用内容 | WG2成果物 |
---|---|---|---|
移行構想 | 要件適合性調査 | PostgreSQLを選定する上での基本的な判断材料
・技術要件(DBMSの一般的な機能)
・サポートツール
・コスト
・市場価値 など
|
DB選定基準編 |
PostgreSQLが取ることのできるシステム構成
・シングルサーバ
・HAクラスタ
・データベースレプリケーション
・マルチマスタ負荷分散クラスタ
|
システム構成調査編 | ||
要件実現性検証 | PostgreSQLの特徴的な機能についての技術検証
・GIS(地理情報システム)
・FDW(外部データラッパ)
|
DB選定基準編 | |
異種DBMSとPostgreSQLの連携検証
|・xDB Replication Server(商用ソフトウェア) |
異種DB間連携調査編 | ||
業務プログラムの移行検証
PostgreSQL未対応アプリケーションを使った移行検証
|
アプリケーション移行実践編 | ||
移行計画 | DB移行WBS作成 | 異種DBMSからPostgreSQLへの移行作業項目 | DB移行フレームワーク編 |
異種DBMSからPostgreSQLへの移行作業コストの把握 | DB移行開発見積り編 | ||
移行設計 | 新物理DB設計 | 異種DBMSからPostgreSQLへのスキーマ定義移行
・データ型
・テーブル定義
・制約
・索引 ほか
|
スキーマ移行調査編 |
移行プログラム設計 | 異種DBMSからPostgreSQLへのデータ移行PG設計
・文字コードのサポート範囲
・データ型の対比
・文字コード変換、NULL値の対応 ほか
|
データ移行調査および実践編
データ移行・文字コード変換編
|
|
移行開発 | 業務プログラム変換 | 業務プログラムの変換
・PostgreSQLへの接続方法
・SQLの変換
・組み込み関数の変換
・ストアドプロシジャの変換
|
アプリケーション移行調査編
SQL移行調査編
組み込み関数移行調査編
ストアドプロシージャ移行調査編
|
移行テスト | データ移行テスト | 異種DBMSからPostgreSQLへのデータ移行テスト
・スキーマ移行
・データ移行
・現新比較
・移行プログラムのチューニング
|
試験編
チューニング編
|
チューニング | PostgreSQL環境におけるチューニング方法
・業務プログラムのSQLチューニング
・インデックス調整
・DBMSパラメタチューニング
|
チューニング編
スキーマ移行調査編
|
|
切替・運用 | バージョンアップ | PostgreSQLのDBMSバージョンアップ手順 | バージョンアップ編 |