4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SnowflakeユーザーがDatabricksを触って感じた違い

4
Last updated at Posted at 2026-03-01

はじめに

私は業務においてはメインでSnowflakeを触っています。

最近、Databricksに触れる機会が増えてきて、改めて両者を比較してみたのですが、「あれ、これ全然違うじゃん…」という気づきがありました。

使ったことがない人、あるいはどちらか一方しか触ったことがない人からすると、「SnowflakeとDatabricksは競合するDB製品」みたいに感じられるかもしれません。

私もイメージだけでなんとなくそんな風に捉えていました。

実際、DB-Enginesのランキングでも並んで上位に出てくるし、マルチクラウド対応のデータプラットフォームという点では共通しています。

でも、実際に両方触ってみると、そもそものコンセプトから全然違うことに気づきます。
「対抗馬」というより「役割が違う」って感じですかね。
誰がどの機能を使うか、その使い方によっては似た使用感になる側面もあるにはあるのかなとは思います。

今回は、普段Snowflakeをメインで使っているエンジニアがDatabricksに触れてみて気づいた、色々調べてみてわかってきた両者の違いをまとめてみます。

「どっちがいいか」という話ではなく、「どう違うか」を書いてみました。

まずは両者の立ち位置を確認

本題に入る前に、DB-EnginesのランキングでSnowflakeとDatabricksがどれくらいの位置にいるのか見てみました。

image.png

image.png

両者ともデータベース系ランキングで上位に位置しています。
Snowflakeは2016年ごろから、Databricksは2022年ごろから線が出現していますね。

グラフ上の登場時期だけ見るとSnowflakeの方が先行しており、その後Databricksも比較的最近ランクインしつつ、最初から上位に食い込んでいるのがわかります。

こういう並び方を見て「競合なんじゃないの?」と思うのも自然かなと思います。

気になった差分まとめ

というわけで、色々調べてみて気づいた違いを項目ごとに整理していきます。

Databricksに関しては、まだ調べたて勉強したての初学者目線ですので、認識齟齬があったら申し訳ありません。
使う&勉強を進めるにあたってアップデートしていきたいと思います。

そもそもどういうもの?

まず、両者が自分たちをどう定義しているかという話です。

  • Snowflake: Data Warehouse(DWH)→ Data Cloud → AI Data Cloud
  • Databricks: Data Lakehouse、Data Intelligence Platform

Snowflakeは「データウェアハウスから始まって、データクラウド、そしてAIデータクラウドへ」という進化をしてきました。

イベントにはしばしば参加しているので、かつては「データクラウド」と表現していたものが、現代では「AIデータクラウド」と文言を変えてきている様子も見てきました。

一方、Databricksは最初から「データレイクハウス」(レイクとウェアハウスの融合)を掲げていて、Apache Sparkベースの分析基盤というルーツがある模様。

この時点で、出自が違うんですよね。
全然違ったわ...と。

イメージだけで、「どう違うんだ?」と言ってしまって申し訳ない気持ちです。
(単に競合だと思い込んでいた自分への反省)

コンセプト・理念

それぞれが掲げているコンセプトも微妙に違います。

  • Snowflake: シンプル、AIデータクラウド、データのサイロ化を解消、Zero-management
  • Databricks: データとAIの民主化、オープン性と統合性、Data Intelligence for all

Snowflakeは「とにかくシンプルに、ニアゼロメンテナンスで使える」というSaaS的な思想が強いです。
一方、Databricksは「データとAIの民主化」を掲げ、Apache Spark、MLflow、Delta Lakeなど自らが開発したOSSを中核に据えるオープンなエコシステムを重視しています。

共通点

概ね以下のイメージだと捉えました。

  • マルチクラウド対応(AWS、Azure、Google Cloud)
  • データ分析・AI/ML基盤としての立ち位置
  • エンタープライズ向けのスケーラビリティ、セキュリティ、ガバナンス(全く一緒というか各々の思想で実現)
  • SQLやPython等の言語で処理を書けるノートブックやワークシートがある
  • オブジェクトの階層モデルの基本的な考え方/イメージ(Snowflake, Databricks
  • タイムトラベル機能
  • データシェアリング機能
  • Git統合
  • 幅広いデータ形式の対応(構造、半構造、非構造)
  • アプリ実行基盤がある
  • AI/LLMモデルの統合

見た目だけでいえば、左にDBやメニューを選ぶペイン、SQLを実行する画面ではタブでSQLのワークシートが切り替えられる、等でUIがそっくり。
データに近い場所でアプリ化できる仕組みがある。
この辺りだけを切り取ると、なんとなく「競合」と見られるのかなと思います。

ざっくり違い

観点 Snowflake Databricks
ルーツ DWH(構造化データ中心) Spark(非構造化データ含む分析基盤)
アーキテクチャ SaaS型、完全マネージド OSSベース統合プラットフォーム、柔軟なカスタマイズ
課金体系 クレジット制 従量課金(DBU単位)
機能・用途 Snowflake Databricks
テーブルフォーマット ネイティブ(Snowflakeに取り込んだデータ), 外部テーブル(csv,json,parquet等), Iceberg対応 Delta Lake,外部テーブル(csv,json,parquet等), Iceberg対応
データパイプライン Snowpipe, Snowpipe Streaming, Streams+Tasks, Dynamic Tables Auto Loader, DLT
バッチETL/ELT TASK ジョブ
フレームワーク Snowpark Apache Spark
データ共有(外部組織) Data Sharing Delta Sharing
機械学習パイプライン Snowpark ML MLflow
AI/LLM周り Cortex AI Mosaic AI

以下はSnowflakeを触っている私から見て、お!と思ったポイントです。

観点 Snowflake Databricks
アーキテクチャ クラウド,コンピュート,ストレージ コントロールプレーン,コンピュートプレーン
リソース生成(DDL) 大体SQLで完結 リソースによってGUI,SQL,Notebook(Python/MLflow)が違う
タスク・ジョブのワークフロー/DAG定義 SQLで頑張る GUIで組み立てられる
データパイプライン品質チェック SQLロジックでのカバー、dbt活用 DLTで宣言的に書ける(Expectations)
ロード時のエラーデータの扱い エラーを取り込まない、後で調査するスタンス エラーを取り込まない or エラーデータを退避しつつ取り込み後で処理できるスタンス
データモデル あまり言及がない メダリオンアーキテクチャの話がよく出てくる
LLMモデルお試し SQLで実行 GUIのプレイグラウンド
コンピュート 仮想ウェアハウス or サーバレス クラシック/サーバレス/ジョブ/SQLウェアハウス/プロ
コンピュートのスペック サイズ(XS,S,M,...)選択 AWSのEC2みたいな感じで細かく選べる
SQL方言 GRANT USAGE ON 等 GRANT USE ON 等
クラスタ マルチクラスタの文脈で出る コンピュートの基本単位
ファイル置き場 Stage Volume
オブジェクト階層 データベース.スキーマ.テーブル カタログ.スキーマ.テーブル
分離構成 組織, アカウント, データベース アカウント, ワークスペース, カタログ
データベース/カタログスコープのロール データベースロールとして定義可能 相当する概念なし
権限制御 RBACベース, 細かく制御できると思ってる RBACベース,やや大味に感じる
システムユーザーの扱い 人間と同じユーザーの扱い, ユーザーのパラメータ(TYPE)で区別 人間ユーザーと別物、サービスプリンシパルとして定義

得意そうなこと、やりやすそうなこと

ここは言い切るのが難しいポイント。(いろんな意味で下手に言えない...)

どっちも使いこなせている、開発メンテされている方の率直な見解が欲しい箇所ではありますね。私も実践知を持って言えるようになりたい...。

Databricksを深く触ってからじゃないとこうだと言い切れないですが、まずは浅い範囲で失礼致します。

Snowflakeがやりやすそうなこと

  • データを取り込んで扱うこと (Snowflakeが持つ機能の利活用、パフォーマンスやコストメリット傍受)
  • SQL中心のデータウェアハウス業務
  • 他クラウドとの組み合わせたアーキテクチャ検討/構築(ユーザー認証での連携メイン、必要に応じてprivate接続)
  • コンピュートリソースの選択/検証/選定
  • シェアオブジェクトの権限管理・制御
  • SaaS由来のニアゼロメンテナンス運用

Databricksがやりやすそうなこと

  • カタログ/フェデレーションクエリで様々なデータソースの統合、データの所在はユーザー環境(ゼロETL)
  • Notebook中心の分析・開発
  • コンピュートリソースの微調整
  • VPC、コンピュートリソースを含めた閉塞網の実現(クラシック/プロ)
  • データロード時の制御
  • AI/LLMモデルのプレイグラウンド

オープンフォーマットApache Icebergが流行ってきたので、DB基盤に取り込む・抱え込むような運用は少なくなりそうですかね。

細かい機能の違い

データロードの振る舞いというかデフォルトで用意されている仕組みが違うんじゃね?と思ったので、少しそれをまとめます。

比較軸 Snowflake Databricks
継続的ロード Snowpipe,Snowpipe Streaming Auto Loader
バッチロード COPY INTO COPY INTO
エラー時の挙動 スキップ,中断 スキップ,中断,別パス書き出し
エラーデータの退避 ネイティブ非対応 同テーブルの列に退避可(rescuedDataColumn)
スキーマ自動進化 対応(ENABLE_SCHEMA_EVOLUTION) 対応(Auto Loaderがデフォルトで対応)
エラー事後調査 VALIDATE() / COPY_HISTORY badRecordsPath

また、データシェアも違いがあるかなと思ってまとめました。

比較軸 Snowflake Databricks
データ共有の仕組み Data Sharing Delta Sharing
共有単位のロール制御 データベースロールをシェアにアタッチ、オブジェクト単位で制御可 相当する概念なし
マスキングとロールの連携 データベースロール単位でマスキングon/off可 シェア先でRow/Column Filterで対応
受け取り側の権限の入口 IMPORTED PRIVILEGES,データベースロールのGRANT 通常のGRANTで制御
シェア先ごとの見せ方の制御 データベースロール×マスキングで柔軟に制御可 設定は可能だが仕組みが統合されていない
設計思想 Provider/Consumer両側で権限モデルが一貫して設計 Delta Sharingを後付けで統合している印象

その他諸々

諸々、個人的に気になった切り口で書いてみました。

「シンプル」の意味が違う

両者ともいろんな側面で「シンプル」を謳っていますが、そのレベル感が全然違います。

Snowflakeは毎年の基調講演で繰り返すくらいブランドの中核メッセージとして「シンプル」を掲げています。
一方Databricksは、機能や体験単位で「これが簡単になった」という文脈で使っている印象で、プロダクト全体の哲学として前面には出していない印象です。

  • Snowflake: 選択肢を減らして簡単に。SaaS、SQL完結、設定項目少なめ、「何も考えなくていい」シンプル
  • Databricks: OSSを統合して一箇所で完結しつつ柔軟性も持たせる。分散していたツールを一箇所に統合した「ワンストップ」シンプル

同じ言葉でも定義が違う、というのがこの2つのプロダクトの違いをよく表しているのかなと思います。

OSS・サードパーティツール統合

Snowflake:

  • Streamlit in Snowflake: Streamlit(Python製のダッシュボードOSS)をSnowflake内で実行できる
  • dbt on Snowflake: dbtをSnowflake内で実行できる
  • 各種コネクタ(Snowflakeコネクタ)
  • Snowpark:Python/Java/Scalaでのデータ処理
  • その他Native Appsでのエコシステム拡充

Databricks:

  • Apache Spark: Databricksのコア、OSSのSparkがベース
  • MLflow: 機械学習のライフサイクル管理のOSS
  • Delta Lake: データレイクハウスのストレージフォーマット、OSS
  • 各種BIツール、データカタログツールとの連携

SnowflakeはOSSを取り込んでプラットフォーム内で動かすアプローチ、Databricksは自らOSSを開発して中核に据えるアプローチの違いがあるのかな、と思ってます。

課金体系

  • Snowflake:
    • 事前購入クレジット制(一括購入で割引)
    • クレジット不足時は割高の従量課金
  • Databricks:
    • 従量課金(DBU: Databricks Unit単位)
    • コミットメント契約による割引あり

UIの名称

通称・略称

個人的な感触です。違うところがあるかもしれません。

  • Snowflake: Snow
  • Databricks: Dbx、Bricks

※「Dbx」は通称として使う人もいますが、「dbx」というツールが存在するので、念の為文脈とかに注意。こちらのツールは今とっては非推奨なので、今後は大丈夫かもですが。

CLIツール

  • Snowflake: SnowCLI、SnowSQL
  • Databricks: Databricks CLI

CI/CD・IaC

インフラコード化やCI/CD周りのツールです。

認定資格

  • Snowflake:
    • Associate: Platform(入門レベル)
    • Core: SnowPro Core(基礎レベル)
    • Specialty: Gen AI、Snowpark、Native Apps
    • Advanced: Architect、Data Engineer、Data Scientist、Administrator、Data Analyst、Security Engineer
  • Databricks:
    • Data Analyst Associate
    • Data Engineer Associate / Professional
    • Machine Learning Associate / Professional
    • Generative AI Engineer Associate
    • Apache Spark Developer Associate

コミュニティ

学習リソース

  • Snowflake:
    • 公式無料トレーニング(Hands-on Essentials、Quickstarts)
    • 公式有料トレーニング(Snowflake University、講師主導トレーニング等)
    • Frosty Friday(有志/コミュニティの課題)
  • Databricks:
    • 公式無料トレーニング(Databricks Academy無料コース、ウェビナー等)
    • 公式有料トレーニング(Databricks Academy Labs)

試す際のアカウントですが、Snowflakeは30日間の無料トライアル環境が作成できます。

一方Databricksはアカウント作成時に有料or無料が選べます。
が、無料アカウントは学習環境としては微妙かもです...。

おわりに

というわけで、SnowflakeとDatabricksの違いを整理してみました。

触る前は「どっちもDWHでしょ?」くらいに思っていたのですが、実際に両方触ってみると全然違うことがよくわかりました。
ルーツが違うし、コンセプトも違うし、得意なことも違う。

どっちがいいか?という話ではなく、それぞれに適した使い方がある、という感じですね。

もちろん、両方使い分けるのもアリです。実際、Snowflake + Databricks の組み合わせで運用している企業も多いと思います。

個人的には、今後はどっちも手放せないし、どっちも使いこなさなければならないフェーズに来ていると感じています。

引き続き、両方の学習を進めていきます。

以上です。

参考リンク

Databricks関連

Snowflake関連

比較記事・その他

以上です。

4
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?