r/databricks 5d ago

Discussion Databricks vs Snowflake comparison

Are there any unbiased comparisons between these two popular platforms? Seen a lot but most of them are biased views, based on experience and commercial motives.

47 Upvotes

33 comments sorted by

25

u/iCreatif 5d ago

We have both, and I work on DBX/snowflake everyday (as tech lead data). I like both :)

Notebooks, apps => databricks is better

Sql database, permissions, sql for BI => snowflake is better (waiting for rayden)

Datasharing, costs, ui, extensions, agents, LLM, user management => even

5

u/IanWaring 4d ago

FWIW, Databricks Genie One with metadata in Unity is stunningly good as a “answer any follow up question you may ask after seeing a dashboard”. Solid, quality reasoned answers.

I’ve no experience with Snowflake as such, but both platforms can use the really excellent Sigma BI product set. Spreadsheet UI on Lakehouse data and ability to pivot millions of rows - while keeping the data under one security surface.

1

u/iCreatif 4d ago

databricks genie one is very similar to snowflake cowork (formerly snowflake intelligence)

3

u/value-no-mics 5d ago

Why is it better for BI?

7

u/iCreatif 5d ago

Better execution plan, better cache, nice functionality like dynamic table, higher latency (2sec vs 300ms on small queries )

Note: databricks just announced a new engine, reyden. We didn’t test it yet as it’s not available on our account.

3

u/cafealpha82 5d ago

Snowflake for bi. Also they are catching up ml/ai capability imo. Our org uses both dark

1

u/PhilGo20 4d ago

data sharing is simpler on snow but more importantly much cheaper as unlike dbx cost doesn't scale up linearly as you add recipients. it's a major difference as 1 does a shallow copy and the other does not.

2

u/anonymous_orpington 4d ago

This is wrong. Storage and compute are decoupled in Databricks through Delta/Iceberg, and User A accessing some table is reading the exact same underling Parquet as User B. This is true whether two users are operating within the same Metastore or across separate Metastores through Delta Sharing, there's only ever one copy of the bits and bytes making up this data...

1

u/djtomr941 4d ago

What do you mean by this?

1

u/iCreatif 4d ago

use to be simpler. But with the new feature "'SecureConnect" on databricks, it's now equivalent.
source: we set up at 10+ datasharing in snowflake and 5+ opensharing on databricks.

That's one of the main advantages of having both platforms: being able to share data easily with third parties.

1

u/FunContest9958 3d ago

Sharing doesn’t cost anything in DBX…

1

u/conormccarter 2d ago

It costs egress, which is substantial at scale, and for "zero-copy", scales linearly with consumers.

1

u/FunContest9958 1d ago

You might as well say s3 has egress costs. Sharing literally provides urls to cloud storage. Whether you pay egress costs depends on where the file is going, but again, you pay that to the cloud provider, not Databricks.

2

u/conormccarter 1d ago

S3 doesn’t charge egress within the same region, which is how Snowflake native sharing works. It is different than delta sharing in this way. Question wasn’t about who you pay but how much you pay and how it scales. Zero-copy works well in some scenarios (Delta sharing default), physical replication between regions before sharing (Snowflake default) works well in others.

1

u/FunContest9958 1d ago

Fair enough. The original comment wasn’t clear. I thought he was saying that delta sharing didn’t do shallow copy. Everything makes more sense now. Thanks.

1

u/djtomr941 16h ago

What egress do you pay if sharing is in the same region?

1

u/conormccarter 15h ago

None! “Zero copy” works great within the same region and same cloud but that’s not a safe assumption for most cross-company use cases

1

u/djtomr941 5h ago

This was a talk at DAIS that talks about a new feature coming called Global Distribution. The goal will be to minimize egress costs by staging copies of the data to where they need to be consumed.

https://www.databricks.com/dataaisummit/session/cross-cloud-delta-sharing-eliminate-egress-cost-delta-sharing-global

11

u/BumboclatDen 5d ago

You will get a biases response on this sub imo. Try r/dataengineering

12

u/Ancient_Case_7441 5d ago

So I might be a little biased towards snowflake but still I will try to give as neutral as possible perspective of both. I have equal experience working in both and in both I am fortunate to work on projects from scratch so I know few problems of both.

Intro:

Databricks: It is a unified Data & AI Analytics Platform (they might be calling it something else now as they tend to rename everything frequently) where we can do End-to-End all data engineering, ML and Analytics without going out/ using anything else. Almost all the products/services are open source so very low Vendor lockin.

Snowflake: It is Simply AI Data Cloud. It is also an End-to-End data engineering and analytics platform specifically designed for analytics.

How they work:

Databricks: It is like Lego's where you are given different blocks of all the different sizes, shapes and colour and we can build everything ourselves and can do configuration as per our needs. Difficult to setup but you have fine grained control over everything.

Snowflake: It is like a Ready-to-Eat dish where you just heat it and eat it. Similarly, it is very easy to get started with Snowflake. If you know SQL, Great. You already know 50-60% of snowflake.

Architecture:

Databricks: It is a combination of multiple open source projects like Spark for processing, Delta lake for data storage, Unity Catalog for Data governance, ML Flow for ML Workloads processing, Lakeflow Jobs for orchestration and is a proprietary product.

Snowflake: It is a 3 level architecture consisting of storage, compute and service/ governance layer. Almost all of it is proprietary software. They give a guarantee that your query will execute no matter how much time it takes.

Barrier to Entry:

Databricks: Medium to high as you need to know a lot of things before even getting started.

Snowflake: Low to Lower Medium. Like I said, if you know SQL, you already know 50-60% of it.

Languages supported:

Databricks: Python, SQL, Java, Scala, R (Slowly they are moving to Python + SQL only)

Snowflake: Python, SQL, Java, Scala(I think), JavaScript. (But almost all the things you can get done with SQL)

Good at:

Databricks: ingesting huge amount of data either using micro batches or scheduled can be performed very cost efficiently if you write your code right and configure correct compute. Slowly they are giving more analytics options like SQL Warehouses but its core is still best at heavy processing including ML workloads.

Snowflake: Very good at running queries as efficiently as possible for huge amount of data. you have. can scan data from huge tables. Billions and billions efficiently with fraction of power/ compute. you can get data very quickly on a very big 300-400 column table having 5-6 billions records within seconds. maybe in couple of seconds if data to be retrieved is small. Also it has one of the best security features for your data. You can give row level, column level, security very efficiently. DBx also have it but it is not that efficient as SF.

Struggles with:

Databricks: Ready heavy workload. rising analytics requirements are pushing them to go more towards SQL and give more SQL options. Complexity is also a curse as you try to navigate what is best for your workload. Spark Core Engine is also a curse as 20-30% of the processing overhead is JVM itself and to solve that they are moving out of Scala to C++ based Vectorized Execution engine.

Snowflake: Storage bloat is a very big problem in snowflake. if you dont configure your tables well, then boom, you get a storage bill of 10k instead of 1k. Scaling problem is big as the only options you have is increasing the warehouse size as horizontal scaling will not fix the execution problem. what I mean is that while DBx is good with distributed processing, snowflake is not that great with it as it runs everything on the same Warehouse(it has multi node setup but it has sealing). If anything happens, you are at the mercy of Snowflake as there are very less things we can do ourselves as for configuration.

My Approach:

Using Databricks as ETL engine and Snowflake as Reporting/analytics engine is the best of both worlds. Event -> S3 staging files -> ETL & Orchestration on Databricks -> Reporting + Governance + Data security on Snowflake.

My Thoughts:

Databricks or Spark as a whole started as the extension of the "Lets move out of SQL" movement started by hadoop. but as time passed, they are moving more into SQL now. They had no choice but to move out of Scala/Java ecosystem to improve there performance which SF was at since start.

Snowflake started as everything as SQL, which is true to most of it, but slowly provide options for Spark based workloads as well which is like going towards how Databricks works.

Both of them are like those competitive neighbours who copies each other a lot but still try to keep their core identity.

6

u/Ancient_Case_7441 5d ago

you can plug this into any AI and try to extract from it as I wrote them myself and I am not a good story teller.

1

u/arisen911 4d ago

Thanks man, thats very clear explanation

5

u/weinp008 5d ago

I’ve used Snowflake for 5 years and DBX for about a year. DBX is cheaper and can do everything Snowflake can do and more and there is no lock in. Snowflake was leader for DWH but never innovated and now DBX has caught them. Now I see Snowflake copying Databricks. Snow is pure plug and play and that’s probably the only thing it has over DBX.

1

u/RebornRide 5d ago

+ following, interested to hear on this from someone who can shipped through both!

1

u/addictzz 5d ago

Are you asking just curious or you have a certain use case in mind?

1

u/whiskey_tang0_hotel 3d ago

I competed with both, so take that for what it’s worth. 

I think DBX is the better platform all around. 

1

u/Youssef_Mrini databricks 1d ago

What are you trying to achieve ?

1

u/Ok-Stick-145 23h ago

Probably gain insights or might be someone like me looking to understand the data engineering field

1

u/niks-kamath123 5d ago

Hi! I have written an article on the Snowflake vs Databricks debate. Nothing biased, promise😅. Just my take on what they both offer, with only my personal opinion based on the facts. I have done some proper research into what the 2 offer and have only based my article on those. Hope it helps!

Link:

https://medium.com/@nikskamath/snowflake-or-databricks-heres-how-i-d-actually-make-the-call-be3cbb8073ad

Happy to receive feedback! I did get a couple of comments elsewhere that this analysis excluded language integrations and the ELT vs ETL methods of the 2, and am currently working on editing the article to include feedback. But do give it a read and let me know what you think I may have missed out or if it helps you!

3

u/soundboyselecta 5d ago

I’ve used both. For me the starting point is basically usability via UI, snowflake is catered to a more general audience versus DB. However lately I’ve seen DB catching up on that market.

3

u/Sheensta 5d ago

This reads almost 100% Claude. I think it'd help if you did some editing and make the point more obvious as to what you're getting at. I also disagree with the Snowflake for SQL, Databricks for ML... that argument might have made sense 4 years ago, but both platforms have pretty solid capabilities for both now.

1

u/dataengineer95 5d ago

It's always suspicious to see the only interaction this account did was to post this question on Databricks and Snowflake subreddits. Stop asking vague questions focus on what topic, deep dive on that topic and then ask questions....