はじめに
今回の投稿は、先日TIG(Technology Innovation Group)の杉江と私でスピーカーを担当した「Future Tech Night #16~クラウド時代のDWH~」の登壇後記です。
発表資料
以前に実施した社内勉強会のコンテンツを外部発信向けに整理したものとなります。私は元の資料の作成に関わっていなかったため、整理に際して一から目を通しました。内容も量も読み応えのある内容で、今回の登壇機会を介して私自身の知識のアップデートにも繋がりました。
コンテンツ構成
以下の構成で発表を行いました。それぞれ簡単に内容をご紹介しますので、気になるコンテンツがあれば是非資料に目を通して頂ければと思います。
クラウドDWHアーキテクチャ概要
主にDWHの用途で2010年付近から普及が進んだMPP(大規模並列分散処理)型RDBのアーキテクチャの紹介と、それがパブリッククラウドの特性を活かしてどのように進化してきているか解説しています。
今回の発表では次の3つのプロダクトを取り上げました。
- Snowflake
- 主要なパブリッククラウド上(AWS、Azure、GCP)で利用可能なプロダクト
- Wharehouseというコンピュート(クエリーエンジン)のインスタンスタイプと処理時間に応じて課金
- Google Cloud BigQuery
- GCPの提供するサービス
- クエリの実行時間に応じて課金
- Microsoft Azure Synapse Analytics
- データを保持する分散ストレージが60個固定
- コンピュートのインスタンスタイプと起動時間に応じて課金
データベースインフラストラクチャ
クラウド型DWHを構成するインフラレイヤの技術要素に関して解説してます。
- ストレージ
- データベースのストレージ管理構造や、クラウド型DWHの特徴と言える分散ファイルシステムを紹介
- ネットワーク
- 分散ストレージのアーキテクチャでは、冗長性確保の観点で同一データを複数のストレージに対して書き込むため、高速ネットワークが必須
- コンピュート
- 前述の3プロダクト間でコンセプトが異なっており、その違いを紹介
データベースソフトウェア
列/行指向フォーマットやメタデータ管理など、データの保存形式に関わる内容を中心に解説しています。
検証結果
前述の3プロダクトを対象に、それぞれの特徴を見るために実環境での検証を実施しましました。
検証内容と結果の一部を抜粋して紹介しています。
今後に向けて
今回の発表では触れなかったAmazon Redshiftのアップデートなど、各プロダクトの動向に関して考察しています。
おわりに
主要なクラウド型DWHは、コンピュートとストレージが分離されたアーキテクチャという共通点があり、これによって処理の高速化と共に、データの規模・処理特性に応じた柔軟な構成変更が可能というクラウドの恩恵を享受できます。
機能面での比較では中々差が見えにくいですが、それぞれ特徴的な課金体系を持っており、利用されるシステム特性に応じてコストに差が出てくるケースが想定されます。導入検討/選定時点におけるこのコストの見極めが私たちにとって重要かつ難しいポイントとなってくると感じています。
「クラウドの無限のインフラストラクチャリソースを利用」したソフトウェアであることから、クラウドベンダー(AWS/GCP/Azure)提供のDWHだけでない選択肢(Snowflake)があるというのも見逃せません。このようなクラウドベンダー以外によるミドルウェアが増えてくる可能性がありそうです。