【速報】クラスタ間でライブデータを安全かつ簡単に共有できる『Amazon Redshift data sharing』プレビュー開始しました! #reinvent
日本時間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を活用したデータ分析基盤の設計が大きく変わります。