先日、Xでこんな投稿を見かけました。

SQL知見があればSnowflake学習がキャリアアップの賢明な選択。コンピュートとストレージ分離、自動スケーリング、仮想ウェアハウス、クローニング、Time Travel、データ共有…

機能の話はわかるけど、そもそも 「データウェアハウス」って言葉、お客さんに説明するたびに悩むんですよね。「データの倉庫です」と言っても「……で?」という顔をされる。

自分なりに整理してみます。

Excel → スプレッドシート → DB → DWH、何が違うのか

データの管理は段階的に進化してきました。どの段階が良い悪いではなく、 データ量と用途に応じて最適な段階がある という話です。

段階ツールできること限界
手書き帳簿Excel1人で管理、計算式、グラフファイルが増えると管理不能
共有帳簿Googleスプレッドシート複数人で編集、クラウド保存データ量が増えると重い、壊れやすい
倉庫データベース(DB)大量データ、高速検索設計が必要、エンジニアじゃないと触れない
キッチンDWH大量データを「分析しやすい形」に整理して置いておく場所初期構築にコストがかかる

ポイントは、DWHは 「倉庫(warehouse)」 と名前がついていますが、実態は 「キッチン」 に近いということです。データをただ保管するだけではなく、 料理(分析)しやすい形に整えておく場所 です。

お客さんの現場で見てきたこと

実際にクライアント先で見てきたパターンがあります。

  • 「うちのデータはフォルダの中のExcelです」
  • 「このExcelは○○さんしか触れません」
  • 「月次レポートを作るのに3日かかります」
  • 「去年のデータはどこにあるかわかりません」

これ、全部 「データの置き場所」の問題 です。データ自体はあるのに、 探せない、集められない、比較できない 。DWHはこれを解決します。

BigQueryを最初に使ったときの体験

自分がBigQueryを最初に触ったとき、衝撃を受けました。

Excelで30分かかっていた売上集計が、 SQLを1つ書くだけで3秒で終わった んです。

「え、今まで何だったの?」

という感覚でした。データの量が数万行を超えてくると、この差は圧倒的です。SnowflakeでもBigQueryでも、この 「え、速い」 という体験は共通です。

DWHが必要になるタイミング

全ての会社にDWHが必要なわけではありません。こういうサインが出てきたら検討するタイミングです。

  • Excelファイルが100個を超えた
  • 「このデータ、どこにある?」と週1回以上聞かれる
  • 月次レポートの作成に丸1日以上かかる
  • 「○○さんがいないとデータが出せない」状態になっている

逆に、データが少なくてExcelで問題なく回っているなら、無理にDWHを入れる必要はありません。

まとめ

  • DWH = データを料理できる場所。倉庫ではなくキッチン
  • Excelやスプレッドシートがダメなのではなく、 Excelが辛くなったら次のステップがある
  • BigQueryもSnowflakeもその選択肢。どちらを選ぶかは後の話
  • 次の記事では、Snowflakeという会社について調べてみます