[レポート] ANT377 : Netezza から Amazon Redshiftへの移行: Edelman Financial Engines のベストプラクティス #reinvent

2018.12.09

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

はじめに

ANT377-Migrate from Netezza to Amazon Redshift: Best Practices with Edelman Financial Engines のセッションのレポートとなります。

セッション概要

Modernizing your data warehouse can unlock new insights while substantially improving query and data load performance, increasing scalability, and saving costs. In this chalk talk, we discuss how to migrate your Netezza data warehouse to Amazon Redshift and achieve agility and faster time to insight while reducing costs. Financial Engines joins us to share their migration journey, after which they were able to improve performance by 10x and reduce cost by 1/3 for a saving of ~$100K annually.

データウェアハウスの最新化により、クエリとデータのロードパフォーマンスを大幅に改善し、スケーラビリティを向上させ、コストを削減しながら、新しい洞察を得ることができます。 このchalk talkでは、NetezzaデータウェアハウスをAmazon Redshiftに移行し、敏捷性と迅速な洞察力を実現しながらコストを削減する方法について説明します。 Financial Enginesは私たちと一緒にマイグレーションの旅を分かち合い、その後パフォーマンスを10倍向上させ、コストを1/3削減して毎年〜100,000ドル節約することができました。

スピーカー

概要

  • Edelman Financial Enginesについて
    • 最大規模の独立したRIAによりすべての人に個別の財務ガイダンスが提供されます
    • Edelman Financial Servicesとの合併
    • Fortune500社の内140社を含む700社を超え1,000万人以上
  • 私について
    • Edelman Financial Enginesでデータエンジニアリングチームのリーダー
  • エンタープライズデータウェアハウスは、集中的な中核システム
    • 意思決定支援チームのための200以上のTableauダッシュボードを介して日々の意思決定を強化する
    • Salesforce CRMにマーケティングチームとディストリビューションチームにとって重要なキャンペーンパフォーマンス指標を提供する
    • National Advisor Centerのコールアクティビティの追跡とFP&Aチームの財務報告をサポートする
    • ユーザーエクスペリエンスを通じて100万を超えるクライアント向けの製品推奨事項を推進する

Amazon Redshiftに移行する理由

  • 成長
    • 1000万人を超えるクライアントの日次データと約12TBの財務データ
    • データの増大に伴う課題 - 2つのNetezzaインスタンス間でデータを物理的に分割
    • 一日のSLAの範囲で頻繁にアクセスされるクエリのプライマリインスタンス
    • SOX準拠クエリ、履歴スナップショットなど、まれなワークロードのセカンダリインスタンス
  • コスト
    • 2台のNetezzaアプライアンスのコスト
    • データセンターからAWS Cloudへの移行と契約の有効期限切れに伴い移行を決断
  • Reinvent
    • 企業の成長のためにデータ分析プラットフォームを最新化する
    • クラスタ構成の拡張が容易で単一のインスタンスで運用のオーバーヘッドを削減できます。
    • データレイク、Amazon Athena、Amazon Redshift Spectrum、機械学習など採用する技術の将来に向けた検証

移行前

移行後

移行プロセス

  • 早期開始
    • 全体的な努力は2017年第2四半期中に開始してから2018年第1四半期/第2四半期に移行するまでに10ヶ月を要した
    • 毎月および四半期のマイルストーンと追跡を含むロードマップを確立する
    • セキュリティ、コンプライアンス、およびITチームからの外部チームステークホルダーで開始する
  • スタッフ
    • トレーニングを受けた既存のチームメンバーと週2回のAWS金曜日のセッションを行い、2人のチームメンバーが
    • 週に1回のAWS金曜日のセッションで既存のチームメンバーを訓練して、2人のチームメンバーがAWS認定を完了した
    • 移行作業に50%のチームが費やされ、コードとしてインフラストラクチャ用に1つのAWS DevOpsリソースが採用した。
  • 大きな技術的決定
    • Amazon EMRとSnowflakeを連携したAmazon Redshift
    • Luigiと代替の商用製品と連携したPythonベースのETLソリューションによるAirflow
    • セキュリティのためにAWSのベストプラクティスを採用して、ネットワークの隔離と暗号化を使用した深い防御
    • Terraform、Ansible、AWS CodePipeline、およびAWS CodeDeployを使用した"infrastructure as code"の採用。

ベストプラクティス

  • 賢くリージョンを選択
    • データセンター間の直接的な接続によりus-west-1に移行することを決定した
    • 今思えば、us-waest-2でITを先に開始できた可能性があり、Amazon AthenaとAmazon Redshift Spectrumが早期に利用可能になった
  • コスト
    • 私たちは経験不足のため、オンデマンド料金のAmazon Redshift でカットオーバーした
    • 今思えば、リザーブドインスタンスを使用することで追加のコスト削減できた
  • データ移行
    • AWS DMS(Data Migration Service)でのNetezzaサポートしていなかったので、NetezzaからAmazon Redshiftにデータを移行するためのカスタムツールを構築した
    • 現在はサポートが利用できるようになりましたので、AWS DMSの使用を推奨する

現在の状態

  • 6カ月以上の本番稼働
    • 3月のソフトラウンチと2018年5月末の稼働開始
    • ハードコストを1/3削減 - TCOを大幅に節約し、ハードコストを年間100K以上削減
    • 10億件以上のレコードを持つテーブル上のNetezzaよりも一定の集計クエリで、カラムナ技術を使用した場合のパフォーマンスが最大10倍向上
  • 今後
    • データレイクが拡大
    • Amazon AthenaとAmazon Redshift Spectrumの展開が進行中
    • データサイエンスワークロードが先に計画中

最後に

データの増大に伴いオンプレのデータウェアハウス(Netezza)では2つのインスタンス間でデータを物理的に分割して対応していますが、Redshiftであればクラスタをスケールがいつでも伸縮可能です。本文中に「データを移行するためのカスタムツールを構築した」とありますが、SCT(Schema Coversion Tools)を用いることで、現行のNetezzaからRedshiftへの移行に対応しています。SCTはDDLを自動生成して変換結果についてはレポート出力もできますので、移行の問題点も把握することが可能です。NetezzaからS3にデータをエクスポートしてRedshiftにロードも可能ですので、契約の有効期限切れのタイミングでRedshiftへの移行をご検討ください。

合わせて読みたい

AWS Schema Conversion Toolを使ってNetezzaからRedshiftにスキーマ変換する

AWS Schema Conversion Toolを使ってNetezzaからRedshift用データをS3にエクスポートする