【速報】クラスタ間でライブデータを安全かつ簡単に共有できる『Amazon Redshift data sharing』プレビュー開始しました! #reinvent

2020.12.10

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

日本時間2020年12月10日深夜のAWS re:Invent 2020のAnalyticsのリーダーシップセッションにて、Redshiftの新サービス『Amazon Redshift data sharing』のプレビュー開始が発表されました。

Amazon Redshift data sharing とは

クラスタ間でデータのコピーや移動することなくデータを共有するサービスで、AmazonRedshiftクラスタ間でライブデータを素早くデータアクセスが可能になります。data sharingはデータへのライブアクセスを提供するため、データが更新されてもユーザーは常に最新の一貫性のある情報を見ることができます。

コンシューマークラスタ(共有される側のクラスタ)の共有データにアクセスできるユーザーとグループは、標準のSQLおよび分析ツールを使用して、高性能でデータを検出およびクエリできます。データ共有により、共有データにアクセスするワークロードは互いに分離されます。AmazonRedshiftクラスターでデータ共有を使用するための追加コストはありません。

data sharingは、RA3インスタンスのみで利用できます。

アクセスとワークロードの分離

RA3インスタンスは、ストレージとコンピューティングの分離を提供しましたが、data sharingは、アクセスとワークロードの分離を提供します。

RA3インスタンスでは、Redshiftの管理ストレージが分離されているため、Redshiftの管理ストレージレイヤから直接データを読み取ることができます。このしくみを活かし、共有データにアクセスするクエリは、コンシューマークラスタ(共有される側のクラスタ)で実行され、プロデューサークラスタ(共有する側のクラスタ)のパフォーマンスに影響を与えるがありません。

data sharingは、Redshift クラスタ間のデータをリソースの競合を気にすることなく、ワークロード固有のコストパフォーマンス要件を満たすコンピューティングリソースを割り当て、必要に応じてクラスタ別にスケーリングできます。data sharingでは、プロデューサークラスタが共有データの管理ストレージコストを支払い、コンシューマークラスタがコンピューティングを支払います。データ共有自体には、それに関連するコストはありません。

コンシューマークラスターは共有データの読み取りのみが可能ですが、更に独自のプライベートデータを書き込み、必要に応じて、プロデューサークラスターに戻すなど、他のクラスターと共有することができます共有データをマネージドストレージ基盤上に構築することで、データへの高性能アクセスも可能になります。頻繁にアクセスされるデータセットは、コンシューマークラスターのローカル計算ノードにキャッシュされ、これらのクエリを高速化します。次の図は、このデータ共有アーキテクチャを示しています。

data sharing の流れ

data sharingするには、最初にデータを共有したいプロデューサークラスタの管理者が、共有の単位として名前付きオブジェクトであるdata shareを作成して、スキーマ、テーブル、ビュー(普通のビュー、レイトバインディングビュー、マテリアライズビュー)などの必要なデータベースオブジェクトをdata sharingに追加し、コンシューマーのリストを指定します。

次に、コンシューマークラスタの管理者は、共有データセットのデータ共有オブジェクトからデータベースを作成し、コンシューマークラスタ内の適切なユーザーとグループにアクセス許可を割り当てます。

つまり、コンシューマークラスタでは、共有されたデータ(共有データセット)をデータベースとして再定義して利用することになります。次の図は、このデータ共有アーキテクチャを示しています。

共有されたデータは、AWSアカウントのクラスタ間を問わず共有できることを表しています。

データ共有のユースケース

hub-spoke Architecture

中央のETLクラスタ(プロデューサークラスタ)から複数のクラスタ(アドホッククエリ用のクラスタ、ダッシュボード用のクラスタ、データサイエンス用のクラスタ)と共有して、読み取りワークロードの分離する構成。

Multi Shere Architecture

複数のクラスタ間で互いにデータを共有する構成。各クラスターは、一部のデータのプロデューサーでもあり他のクラスタのコンシューマーでもある。

Data Provider Architecture

全てのデータを保持するクラスタと、その一部を共有する複数のクラスタの構成。

Development/Staging/Production Data Share Architecture

開発環境、テスト環境、本番環境の間で、データを共有する構成。

プレビュー申請なしですぐにお試しいただけます

data sharingは、メンテナンストラックをPREVIEW_2020に変更(Modify cluster)してクラスタを再起動すると反映されます。

米国東部(オハイオ)、米国東部(北バージニア)、米国西部(北カリフォルニア)、米国西部(オレゴン)、ヨーロッパ(フランクフルト)のリージョンでプレビューを開始しています。

なお、アカウント内データ共有のプレビューであれば、次のリージョン利用できます。

  • 米国東部(オハイオ)
  • 米国東部(北バージニア州)
  • 米国西部(北カリフォルニア)
  • 米国西部(オレゴン)
  • アジア太平洋(ソウル)
  • アジアパシフィック(シドニー)
  • アジア太平洋(東京)
  • ヨーロッパ(フランクフルト)
  • ヨーロッパ(アイルランド)

最後に

RedshiftはのRA3インスタンスは、ストレージとコンピューティングの分離を提供することで、data sharingは、アクセスとワークロードの分離を実現しました。取り扱うデータのセキュリティレベルや組織の統合などDWHの歴史的な経緯よって、サイロ化したDWHの統合は困難でしたが、DWHがRedshiftであれば、data sharingを用いてさらなるデータ統合が実現できるようになります。更にアクセスとワークロードの分離ができるので必要な組織が必要なコンピューティングを割り当ててデータ活用が可能になります。

今後、Redshiftを活用したデータ分析基盤の設計が大きく変わります。

合わせて読みたい