[レポート]DAT318:OracleやSQL ServerをAmazon Auroraへ移行する #reinvent

DAT318 - Migrating Your Oracle & SQL Server Databases to Amazon Aurora に参加したレポートをお届けします。
2018.11.27

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。コンサルティング部の崔です。

今年で2回目のre:Invent参加です。

DAT318:Migrating Your Oracle & SQL Server Databases to Amazon Aurora に参加しましたのでレポートをお届けします。

セッション概要

 

Organizations today are looking to free themselves from the constraints of on-premises commercial databases and leverage the power of cloud-native and open-source systems. Amazon Aurora is a MySQL- and PostgreSQL-compatible relational database that is built for the cloud, with the speed, reliability, and availability of commercial databases at one-tenth the cost. In this session, we provide an overview of Aurora and its features. We talk about the latest advances in migration tooling and automation, and we explain how many of the common legacy features of Oracle and SQL Server map to modern cloud variants. We also hear from Dow Jones about its migration journey to the cloud.

スピーカー

John Winford - Global Lead - Database Freedom

Steve Stevenson - Distinguished Software Engineer, Dow Jones

Scott Schanzenbach Canham - Distinguished Software Engineer, Dow Jones

セッションメモ

今回のセッションは、前半はAmazon AuroraおよびData Migration Service/Schema Conversion Toolsの説明、後半は実際にSQL ServerからAmazon Auroraへの移行事例が紹介されました。

アジェンダ

  • What is Amzon Aurora?
  • Modern improvements on legacy features
  • Migration tooling and automation
  • Dow Jones'cloud journey

Amazon Aurora

  • MySQLや」PostgreSQLと互換性のあるRDB
    • 高性能、可用性
    • 商用DBの1/10のコスト
  • トラディショナルなRDBはスケールするのが困難
    • 複数のレイヤーがモノリシックになっている
  • RDBを再構築
    • レイヤー毎に独立してスケールできるように
    • セルフヒーリング
  • スケールアウト、分散アーキテクチャ
    • ログストラクチャ分散システムを新たにデザイン
    • 3つの異なるAZに分散された数百のストレージにボリュームをストライピング
    • 各AZに2つのコピー、合計6つのコピーを持ち、AZ一つともう一つの欠落においても読み込み可能
  • 高性能
    • 3つのAZで15個までのリードレプリカ
    • 新しいリードレプリカがオートスケーリングで
    • MySQLの5倍、PostgreSQLの3倍高速
  • 何を成し遂げてきたか?

  • 6つのストレージのコピー
    • 3つのAZにまたがる6つのコピー
    • 4つの書き込みクォーラム、3つの読み込みクォーラム
  • クラッシュリカバリ時間が97%削減
    • RDSに比べて非常に高速なクラッシュリカバリ

  • Compatibility
    • Aurora with MySQL compatibility
      • version 5.6 and 5.7
    • Aurora with PostgreSQL compatibility
      • version 9.6.3, 9.6.6, 9.6.8, 9.6.9, 10.4
  • 商用DBとの機能比較

データベース移行

  • AWS Database Migration Service(AWSに DMS)
    • 簡単に安全にDBもしくはDWHをAWSへ移行
  • AWS Schema Conversion Tool
    • 商用DBとDWHをオープンソースのDBエンジンもしくは、Amazon AuroraやRedshiftに変換
  • いつDMSやSCTを使うのか
    • モダナイズ
    • マイグレーション
    • レプリケーション
  • モダナイズ
    • DBをモダナイズ
      • Oracle, SQL Server, DB2 をPostgreSQL, MySQL, Amazon Auroraへコンバート
    • DWHをモダナイズ
      • Oracle, SQL Server, Netezza, Greenplum, Vertica, TeradataをAmazon Redshiftへコンバート
  • AWS DMS
    • DWHをRedshiftに移行
    • マイナーバージョンのアップグレード
    • シャーディングされたDBをAuroraへ統合
    • 古いデータをアーカイブ
  • Endpoint Support

  • アプリケーションを稼働しながらマイグレーション
    • レプリケーションインスタンスを開始
    • ソースDB、ターゲットDBを接続
    • 移行するテーブル、スキーマ、DBを選択
    • DMSがテーブル作成、データロードを同期
    • 好きなときにアプリケーションをターゲットDBに切替

移行事例

  • 対象となるデータベース
    • 〜1.5TB
    • 800+ テーブル
    • 10奥レコード
    • 800+ GB
  • なぜAuroraへ移行するのか
    • SQL Serverライセンス費用からの脱却
    • スケーラビリティ
    • Managedサービス
    • 信頼性
  • どこから開始したか?
    • スキーマの移行
    • データの移行
    • アプリケーションとサービスの移行
  • スキーマの移行
    • 正しいツールの選択
      • Schema Conversion Tool
      • MySQL Workbench migration tools
    • 手動変換の実施
      • プロシージャやファンクションの変更
      • 動的SQL
      • 参照整合性
  • データの移行
    • Data Migration Service
      • no downtime
      • complete in reasonable amount of time
    • Change data capture
      • Capture all new data
      • keep destination in sync after migration
      • Use until cut over
  • 移行の詳細
    • Large amounts of data
      • 10奥レコード以上のAuditテーブル
      • 1.5TBの移行
      • 800テーブル
  • DMSのタスクの修正
    • Modify tasks
      • Spread tables accross tasks
      • 12テーブルを並行実施
    • Balance tasks
      • タスクごとに分析、バランスの見直し
    • Instance sizing
      • ストレージ
      • ネットワーク
      • CPU
  • 移行後のパフォーマンス比較
    • 移行前
      • 処理に26.5時間
    • 移行後
      • 処理に6.5時間 4分の1に短縮

 

まとめ

  • スキーマ変換は正しいツールを使うこと
    • Schema Conversion Toolsの利用。他のプロジェクトでも利用した。常に更新されている。
  • DMSタスク
    • 移行に不必要なデータは削除してから
    • DMSインスタンスのサイズを適切に

感想

OracleやSQL Serverといった商用DBからの移行先としてAmazon Auroraが紹介されていました。高パフォーマンス、高可用性、堅牢性、低コストといったところで移行先として十分検討に値するDBです。Auroraに移行する際に、異なるDBエンジンへの移行については、DMS/SCTといった2つのサービス・ツールを利用することで十分に対応可能ということが分かりました。商用DBのライセンス費用に悩んでいる方は検討の価値があると思います。

以上です。