Snowflake與Databricks分別是在2012和2013年創立的公司。雖然相對Amazon、Google、Microsoft這些超級大廠來說算是後起之秀,其實也不算是什麼新公司了。但這兩個公司真正崛起也只是最近5、6年的事。
如同微軟VS蘋果、AMD VS Intel、iPhone VS Android等有名的宿敵的故事,Snowflake和Databricks是互相的最大競爭對手,但卻又都是最近一些資料產業的新主題、趨勢的最大受益者。用個比較老派的比喻,這兩個雲端數據倉庫界的兩大巨頭就像武俠小說裡的兩大門派,少林和武當,各有所長,互不相讓,但卻又都希望也需要合作支持武林的興盛,來保持自己門派的繁榮。
Snowflake和Databricks幾乎在所有的核心思想與功能上都是對立的:
在兩個公司剛創建時,Snowflake是專精企業資料倉儲服務(Data Warehouse)與資料分析,而Databricks則是主打大型資料湖(Data Lake)與ML。
由於目標使用群不同,所以Snowflake和Databricks選用的主要語言也是對立的。由於主要用途是資料倉儲和管理,Snowflake直到最近幾年以前都只有支持使用目的相對狹窄的SQL,並且使用自己專有的PostgresSQL類的Query Engine。而由於需要可以兼容資料湖裡各種結構化、半結構化和非結構化資料,還有為了支持各種ML的發展,Databricks選用的是泛用型強的開源語言Python。
從創立就是以開源為出發點,Databricks的數據倉庫服務是基於Apache Spark開源框架構建的,而創始人也是Spark的發明組織AMPLab的成員之一。相對的,Snowflake完全走的是圍牆花園(walled garden),擁有自己的專有存儲和計算平台技術,也只由自己的工程師建造和維護自己平台。
雖然Databricks允許更大的定制和更廣泛的集成,但它也需要一個更有技術能力的內部數據團隊的支持。這與Snowflake的“立即可用”承諾相反。
兩個公司的技術、產品上的理念也在他們的商業行為上體現出來。Databricks由學者創立,更加注重工程和產品,而Snowflake則由商務人士創立,更加注重銷售和客戶。兩家公司都有自己的優勢。Databricks的開源文化使其更具靈活性,而Snowflake的銷售文化使其更容易擴展規模。
換句話說,Databricks是技術宅的數據倉庫,而Snowflake是商業人士的數據倉庫。在產品上,Databricks適合於想自己動手的客戶,而Snowflake適合於想簡單上手的客戶。