Amazon Web Services ブログ
Database Migration Playbook が公開されました!
Amazon Database Migration Playbooks シリーズの初版がリリースされたことを発表します。異種間データベース移行をより速く、より簡単に実現し、「Database Freedom」を実現するために有用なステップバイステップガイドとなるプレイブックです。
Database Migration Playbooks とは
Database Migration Playbooks(Amazon Web Services と NAYA Tech の共同プロジェクト)とは、異種間データベース移行計画を成功させるためのベストプラクティスに焦点を当てた一連のガイドです。このプレイブックは、AWS Schema Conversion Tool (AWS SCT) と AWS Database Migration Servies (AWS DMS) を含む、既存の自動化および半自動化されたAmazonデータベース移行ソリューションおよびツールを補完するものです。
すべてではないにせよ、ほとんどの異種間データベース移行では、自動化されたツールとDBAのノウハウが混在しています。Database Migration Playbooks の目的は、データベース移行の方程式の一部であるDBAのノウハウを、読みやすく参照可能なリファレンスとしてキャプチャすることです。
プレイブックの構成を可能な限り実用的にするため、ソースデータベースエンジンに存在する機能と、選択したターゲットデータベースプラットフォームで使用可能な最も優れた同等のソリューションと考えられるものを列挙しています。
「Oracle to Amazon Aurora Migration」プレイブックの初版では、Oracle 11g と12cのデータベース機能とスキーマオブジェクトを Amazon Aurora with PostgreSQL compatibility に移行するためのベストプラクティスに重点を置いています。移行するためには、PostgreSQLデータベースエンジン自体に組み込まれている機能と、様々なAWSサービスやソリューションの両方を使用しています。
Oracleの機能を移行するための詳細な例やチュートリアルなどを含む、数多くの技術的な内容をこのプレイブックでカバーしています。たとえば、表パーティション、マテリアライズドビュー、トリガー、ストアドプロシージャとファンクション、データベースリンク、データ型、セッションやインスタンスの構成パラメータ、DBMS_パッケージやv$ビューの使用方法、索引、SQL言語の文法の違い、シーケンス、RMAN、Oracle Flashback Database、JSONストレージ、Oracle 12c PDB などなどたくさんです。
現在、ほかのソースおよびターゲットデータベースプラットフォームをカバーする追加のプレイブックを作成しています。2018年中にこれらを利用できるようにしたいと考えています。
Database Migration Playbook の構成
カバーする Oracle Database の機能ごとに、ソースからターゲットへ移行の青写真を提供します。この青写真には、ソースのOracleの機能がどのように機能するかと、Amazon Aurora with PostgreSQL compatibility で利用可能な最良の同等機能の概要があります。Oracleの機能と1対1で同等の機能が Aurora PostgreSQL にない場合は、存在する最善のワークアラウンドを提示します。
たとえば、表などのリモートデータベースオブジェクトを使用するために使われるスキーマオブジェクトであるOracleデータベースリンクのトピックを取り上げます。ここでは、Oracle Database でデータベースリンクを作成および使用する方法の例が載っています。
そして、dblinkまたはpostgresql_fdw (Foreign Data Wrapper – FDW) 拡張機能を使った同様の機能を実現する方法がこちらです:
dblinkと PostgreSQL FDW の両方の詳細な例がプレイブックに用意されていますが、FDWの仕様には追加の手順が必要なため、この投稿からは省きます。
もう一つの例は Oracle Flashback Database です。これはデータベース全体を以前の時点に戻す機能を提供することで、人的ミスを防ぐためのバックアップメカニズムです。プレイブックでは、フラッシュバックデータベースの復元ポイントの作成方法に関する例を提供します。また、SQLコマンドを使用してOracleデータベース全体をその復元ポイントにリストアする方法について説明します。
Aurora PostgreSQL では、データベーススナップショットを使用して同等の機能を実現できます。