先日、Xでこんな投稿を見かけました。
SQL知見があればSnowflake学習がキャリアアップの賢明な選択。コンピュートとストレージ分離、自動スケーリング、仮想ウェアハウス、クローニング、Time Travel、データ共有…
機能の話はわかるけど、そもそも 「データウェアハウス」って言葉、お客さんに説明するたびに悩むんですよね。「データの倉庫です」と言っても「……で?」という顔をされる。
自分なりに整理してみます。
Excel → スプレッドシート → DB → DWH、何が違うのか
データの管理は段階的に進化してきました。どの段階が良い悪いではなく、 データ量と用途に応じて最適な段階がある という話です。
| 段階 | ツール | できること | 限界 |
|---|---|---|---|
| 手書き帳簿 | Excel | 1人で管理、計算式、グラフ | ファイルが増えると管理不能 |
| 共有帳簿 | 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という会社について調べてみます