[レポート] (ANT230) [NEW LAUNCH!] Amazon Redshift の再設計: RA3 と AQUA #reinvent2019

2019.12.05

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

こんにちは!DA事業本部の石川です!

本記事はAWS re:Invent 2019のセッションレポートとなります。先日(12/3)のキーノートで発表のあったRedshiftの次世代ノードタイプRA3AQUA(Advanced Query Accelerator)について、急遽追加された最新セッションのレポートです。今日現在、次世代インスタンスRA3AQUA(Advanced Query Accelerator)に関する詳細情報はこのセッションの内容以外にないため、まめに書いてみました。

概要

Amazon Redshift continues to change the scale and economics of data warehousing. Learn more about announcements from the keynote and how they enable you to scale cost-effectively across diverse data warehouse workloads. We break down the benefits of the new Amazon Redshift RA3 instances and share real-world examples from the preview. You see how the new console and innovations like Amazon Redshift Federated Query and Data Lake Export enable you to bring together all your data, and you learn more about AQUA (Advanced Query Accelerator) for Amazon Redshift.

Amazon Redshiftは、データウェアハウスのスケールとコストを変え続けています。 基調講演からの発表と、さまざまなデータウェアハウスのワークロード全体で費用対効果の高いスケーリングを可能にする方法の詳細をご覧ください。 新しいAmazon Redshift RA3インスタンスの利点を分析し、プレビューから実際の例を共有します。 新しいコンソールとAmazon Redshift Federated QueryやData Lake Exportのような革新がどのようにすべてのデータをまとめることができるかがわかり、Amazon RedshiftのAQUA(Advanced Query Accelerator)についてさらに学習します。

スピーカー

RA3 and AQUA

Amazon Redshiftの進化

Amazon Redshiftは、最も有名なクラウドデータウェアハウスであり、多くの企業に導入されています。2019年の1月から11月までの18ヶ月間で200の新機能を提供してきました。

  • AZ64 encoding
  • Colocate用のブルームフィルタとブロードキャストジョインクエリ(※ Colocateとは、同じ場所に置くという意味)
  • モダンなCPUやネットワークのためのプランナの改善
  • HLL(HyperLogLog)統計
  • 集計や結合処理に最適化したキャッシュ

主要な2019年の新機能は以下のとおりです。

その中でも主要な機能を紹介します。

AZ64 エンコーディング

AZ64 エンコーディングは、今年導入された数値や日付・日時のデータ圧縮に適した圧縮エンコーディングです。TCP-DSベンチマークの結果、ストレージ削減とパフォーマンスにおいて既存の圧縮エンコーディングと比較して、同等かそれ以上の結果が得られています。

フェデレートクエリ

RDSとAuroraのPostgreSQLに対して、データの移動なしに直接データにアクセスできます。データウェアハウス、データレイク、PostgreSQLに対して横断的に分析できるようになりました。自由かつ簡単にデータのロード可能になり、セキュアなデータアクセスやパフォーマンスが向上しました。

マテリアライズドビュー

一度得られたクエリ結果を、何度も利用するユースケースにおいて有効です。結合、フィルタ、集計、そして射影において、桁違いにクエリを高速化します。ETLやBIの増加する更新やユーザーによるメンテナンスをシンプルかつ高速化します。Redshiftへ簡単で素早くマイグレートできます。

機械学習による自動最適化によってクエリパフォーマンスが加速する

  • 自動テーブルメンテナンス
  • ピークパフォーマンスのデータとワークロードをスケールするための最適化
  • 機械学習の活用
  • 変化に対応する能力を備えたあるべき推奨設定

RA3: 第3世代 Amazon Redshift コンピュートノード

RA3は、ストレージ管理、高速なキャッシュ、広帯域ネットワーキングの3つの特長があります。

  • 通常のワークロードとピーク時に必要とされるスケールに基づくスケールするデータウェアハウス
  • ストレージとコンピューティングの課金の分離
  • 自動化、ワークフローの変更不要、ストレージの管理も不要

RA3: Nitro搭載のパワフルなクラスタ

  • 単一のRA3.16xlarge ノード
    • 48 vCPUs
    • 384 GiB RAM
    • 2-128 ノード
  • 最大RA3クラスタ
    • 6144 vCPUs
    • 48 TiB RAM
    • 8 PB(管理されたストレージ)

RA3: 低価格で高パフォーマンス

  • 単一のRA3.16xlarge ノード
    • ds2.8xlargeと比較して、2倍のパフォーマンス、2倍のストレージ、利用費は同じ
    • 他社のクラウドデータウェアハウスに比べて、価格性能比が3倍
    • 1ノードあたり、64TBのデータを管理できる

RA3: Amazon Redshift「DS2」からの移行

  • ds2.8xlargeと比較して、2倍のパフォーマンス、2倍のストレージ、利用費は同じ
  • 2:1、3;1、又は4:1の比率で移行できる
  • 10TB未満のデータより小さなDS2クラスタは、ra3.4xlargeが適している

RA3: Amazon Redshift「DC2」からの移行

  • 大きなdc2.8xlargeクラスタでより大きなデータが必要になる可能性があるならRA3が向いている
  • 同じ利用費で3:1の比率に移行する(dc2.8xlargeからra3.16xlarge)
  • 同じ利用費でRA3はDC2と同様のパフォーマンスを提供し、8倍のストレージキャパシティを提供する
  • 5-10TB未満のデータより小さなDS2クラスタは、そのままのDS2が適している

移行に関する考慮

  • 移行はスナップショットの移行を用いる場合
    • 数分で新しいRA3クラスタを作る
    • 新しいRA3クラスタの検証後、古いクラスタの削除
    • 新しいRA3クラスタの名前を変更する
    • Elastic Resizeの柔軟性は減ります
  • 他の選択肢は、Classic Resize
    • Classic Resizeは古いクラスタから新しいクラスタのデータをコピーして、完了時にクラスタの名前を変更する(Classic Resizeは、リストアより時間を要する)
    • Elastic Resizeの完全な柔軟性は保持する

RA3の実際の移行

  • DS2からの移行、同じコスト、より良いパフォーマンス
    • 同価格、ds2.8xlarge(14ノード)からra3.16xl(7ノード)の場合、クエリは2.1倍高速
  • DS2からの移行、同じコスト、ETL用途のワークロード
    • 同価格、ds2.8xlarge(16ノード)からra3.16xl(8ノード)の場合、ETLワークロードは1.3倍高速
  • DC2からの移行、同じコスト、最も良いパフォーマンス
    • 同価格、ds2.8xlarge(15ノード)からra3.16xl(5ノード)の場合、クエリは1.25倍高速

ストレージ管理の方針

  • CPUスキャンより速さ
  • インスタントオン / 一時停止 / 再開
  • データの自動退避
  • ネットワークとフラッシュキャッシュ向けの最適化

Amazon Redshift のAQUAを明らかにする

進化 - シェアードナッシングからコンピュートの分離へ

  • ローカルストレージはクラウドベースのデータウェアハウスを速くする
  • 共有ストレージは価格あたりのパフォーマンスを柔軟にする
  • ネットワークペナルティなしで両方のメリットを得られないか?

AQUA(Advanced Query Accelerator)とは

  • 新しく分散型でハードウェアアクセラレートされた処理レイヤ
  • AQUAを用いることで、Redshiftは、追加費用無しで他社のクラウドデータウェアハウスより10倍速くなる
  • RA3との組み合わせでプレビュー可能です。(プライベートプレビューの申請が必要)
  • コードの変更は不要

AQUA - プッシュダウン及びスケールアウト処理レイヤ

  • AQUAノードにプッシュダウン操作をすることによって、ネットワーク上のデータ移動を最小限に抑える
  • AQUAを通してスキャンと集計操作をスケールアウトする

2012年と2019年を比較して、SSD性能向上が12倍に対して2倍でしかありません。

AQUAノードのアーキテクチャ

  • 圧縮と暗号化をNitroアクセラレータで処理する
  • 主要な分析オペレーション用途のカスタムプロセッサ
    • スキャン(フィルタ)
    • 集計
    • ハッシング
  • ノード内コンパイラはハードウェアアクセラレタやCPUによって操作を代行します

AQUAとマテリアライズドビュー

  • AQUAは利用可能な中で最もスキャンが速い
  • マテリアライズドビューはテーブル対する結合や集計に変換します
  • 2つは互いにパートナー関係にあります

紹介したこと

このセッションでは、RA3とAQUAの詳細について聞き、テクノロジーの進化と特長について理解し、データウェアハウスが未来に渡り進化する計画が立てられることを紹介しました。

まとめ

RA3 や AQUAの登場の経緯やその他のサービスの関係についても紹介されておりましたが、やはりAQUAがないとRA3やマテリアライズドビューも実現が容易でないということが理解できました。マテリアライズドビューがプレビューなのは、AQUAがプライベートプレビューだからだと納得ができます。

RA3は、これらの情報を鑑みるとds2.8xlargeの3ノードクラスタ以上であれば、ra3.16xlargeの3ノードクラスタ以上に移行を検討しても良いのではないかと考えさせられました。現在、RA3は、ra3.16xlargeのみですが、資料にもある通りra3.4xlargeも予定されているそうです。ra3.4xlargeが数字の通り価格も1/4と仮定すると、ds2.xlargeの7ノードクラスタ以上であれば、ra3.4xlargeの2ノードクラスタ以上に移行できそう、、、など適用範囲が多く、夢が広がります。

AQUAは、「シェアードナッシング」と「コンピュートの分離」という相反するテーマをネットワークペナルティなしで両方のメリットを得られないか?、という課題解決からスタートしています。この課題を解決することでストレージとコンピュートを分離し、高いパフォーマンスと低価格なストレージを実現したRA3が誕生しました。現在PrivatePreviewなので利用にはプレビューの申請が必要です。またAQUAに対応したインスタンスは、ra3.16xlargeのみなので、PoCをお検討の場合はra3.16xlargeの2ノードクラスタ構成で予算を取る必要があります。大規模なRedshiftクラスタを利用している方はRA3のみではなくAQUAの導入も視野にご検討ください。

まだ日本語の価格表が掲載されていませんが、東京リージョンのオンデマンド価格を参考に掲載します。(料金は執筆時点となります)

関連

【速報】Amazon Redshiftの次世代ノードタイプ『RA3』が発表されました #reinvent

[速報] 革新的な新しいハードウェアアクセラレーションキャッシュで他DWHよりも最大10倍高速化! AQUA(Advanced Query Accelerator) for Amazon Redshift が発表されました #reinvent