データウェアハウス選定フローチャート(2022年4月時点版)Zennkommy📊データウェアハウス選定フローチャート(2022年4月時点版)2022/04/13に公開2022/04/141件dataBigQuerySnowflakeRedshiftidea前置き最近、色々な会社でデータの活用というのが叫ばれていると思うのですが、いざデータ基盤を構築するとなると詳しい人が少ない状況です。いう基盤を作ればいいのかとか、どのデータウェアハウスを使えばいいのかという相談を、私もよく受けます。ここのところ特にあまりにもよく受けるので、毎回答えるよりも記事にしておいたほうが早いなと思ったので、この記事を書きました。いう質問に対しての現時点での私なりの回答になります。データウェアハウスの選択肢は3つデータウェアハウスのサービスはたくさんあるのですが、この記事を書いている2022年4月時点で自然に選択肢に挙がるのは3つです。BigQueryRedshiftSnowflakeそれぞれの特徴については後述します。今回挙げた3つのデータウェアハウスからどれを選べばいいのかについてアドバイスを求められた時、私は以下の2つを重視して選択するように勧めます。逆に以下の点についてはあまり考慮する必要はないと説明します。機能についての制約データを活用するというのは実際にやってみないとイメージがつきにくいものなので、まずはデータを貯めて活用するという体験をするのが重要です。構築のしやすさは重要です。導入にあたっての社内での稟議などを考えると、その次に気にしなくてはならないのは費用になるでしょう。それらと比較すると、実行したクエリの処理に5秒かかるのか10秒かかるのかという違いは大した問題ではありません。そもそも性能面で致命的な差があったら候補に挙げることはしませんからね。機能についての制約については考慮する必要がないと言うと語弊があるかもしれません。ここに挙げた3つのデータウェアハウスは一般的に必要となるような事項が制約によってできないということはほぼないので、比較する必要がないという意味です。データウェアハウス選定フローチャート以上を踏まえると、基本的には構築しやすさと費用の観点から選べばいいことになります。いうことは、ある程度機械的に選ぶことができます。いうわけで、簡単なフローチャートを用意しました。このフローチャートを踏まえてそれぞれのサービスについて解説していきます。各データウェアハウスの特徴と選ぶ理由BigQuery(費用◎、AWS連携X)GCPが提供しているデータウェアハウスのサービスです。データウェアハウスといえばBigQueryだと思っている人も多いと思います。2020年くらいにデータウェアハウスはどれがいいのかと聞かれたらBigQueryと即答する程度には優れていました。費用が最も安く済みます。最近だと総合的に見て残りの2つも選択肢に挙がる程度には追いついてきた感じです。実際のところ、BigQueryにデータを転送するパイプラインを構築できるのであればBigQueryを使っていて間違いはありません。逆に、BigQueryに対して他の2つのデータウェアハウスが優れているのはどちらもAWSを利用したサービスであるという点です。プロダクトがAWSを使って構築されている場合、BigQueryにデータを転送する部分が構築するのが相対的に非常に大変です。AWSの外部にデータを持ち出す形になるので通信量などが発生します。権限管理などにおいて、複数のクラウドのしきたりを覚える必要があったりするのもなかなかの手間です。プロダクトがAWSに載っていないのであればまずはBigQueryを検討しましょう。GCPに載っているなら迷う必要があまりないでしょう。AWSに載っているのであれば後述の2つから検討していきましょう。Redshift(費用X、AWS連携◎)AWSが提供しているデータウェアハウスです。他の2つの候補と比較するとRDBに近い仕様になっており、それ故のやりやすさとやりにくさがあります。RDSのデータをリアルタイムに近い速度で同期するDMSというサービスが非常に便利で、この機能の需要が高い場合にはRedshiftは非常に有力な候補になります。