【数据湖仓架构】数据湖和仓库:Databricks 和 Snowflake

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
大数据开发治理平台 DataWorks,不限时长
简介: 【数据湖仓架构】数据湖和仓库:Databricks 和 Snowflake

是时候将数据分析迁移到云端了。我们比较了 Databricks 和 Snowflake,以评估基于数据湖和基于数据仓库的解决方案之间的差异。


在这篇文章中,我们将介绍基于数据仓库和基于数据湖的云大数据解决方案之间的区别。我们通过比较多种云环境中可用的两种流行技术来做到这一点:Databricks 和 Snowflake。

正如我们在上一篇文章中了解到的,数据分析平台可以分为多个阶段。上面,我们可以看到一张图片,大致了解了管道中 Snowflake 和 Databricks 的角色。在这里,我们可以将工具分类为处理(绿色)或存储(蓝色) Databricks 是一种处理工具,而 Snowflake 涵盖了处理和存储。另一方面,Delta Lake 是与 Databricks 相关的存储解决方案。我们稍后会介绍。

根据上一篇给出的定义,我们可以粗略的说Databricks是一个基于数据湖的工具,而Snowflake是一个基于数据仓库的工具。现在让我们更深入地研究这些工具。

Databricks 是具有数据仓库功能的数据湖工具

Databricks 是一个基于 Apache Spark 的处理工具,它为编程环境提供高度可自动扩展的计算能力。Apache Spark 是基于编码的大数据处理的事实上的标准编程框架。

Databricks 计费本质上是基于使用情况的。您为使用的计算资源付费,仅此而已。原则上,Databricks 特别适合在管道的早期阶段处理数据,尤其是在青铜层和银层之间它也可用于准备黄金层数据,但在为报告工具等提供数据方面并不是最好的。


最近,Databricks 已将其能力大幅扩展至传统数据仓库的方向。Databricks 提供了现成的 SQL 查询接口和轻量级的可视化层。此外,Databricks 提供了一种数据库类型的表结构。数据库类型功能是专门使用 Delta 文件格式开发的

Delta 文件格式是一种将数据库优势带入数据湖世界的方法。除其他外,该格式提供数据模式版本控制和数据库类型 ACID 事务。根据数据湖范式,文件格式本身是开放的,任何人都可以免费使用。

基于 Delta 格式和 Databricks 工具,该公司正在尝试为数据湖和数据仓库混合方法传播一种新颖的“Data Lakehouse”范式概念。

Snowflake 是一个借鉴数据湖范式的可扩展数据仓库

Snowflake 是专为云环境开发的可扩展数据仓库解决方案。 Snowflake 以专有文件格式将数据存储在云存储中。因此,根据数据仓库范式,数据只能通过 Snowflake 获得。除了计算资源外,您还需要为雪花文件格式的数据存储付费。但是,您还可以使用典型的数据仓库功能,例如可用的精细权限管理

几年前,Snowflake 通过提供高度分布式和可扩展的计算能力扰乱了数据仓库市场。这是通过在数据仓库架构中完全分离存储和处理层来完成的。传统上,这一直是大数据世界中数据仓库解决方案的主要障碍。这是 Snowflake 向数据湖范式方向扩展其解决方案的方式之一。如今,它提供了用于实时数据摄取的高效工具等。


说 Snowflake 的成功给 Amazon Redshift 和 Azure Data Warehouse 开发带来了危机,这可能并不为过。后两种数据仓库解决方案的可扩展性明显受到更多限制:如果您想避免高额费用,则需要在小存储容量或慢处理之间进行选择。很多时候,很难找到合适的组合。因此,您通常会为您没有实际使用的储备资源支付大量资金。尽管如此,这两款产品都已采取措施解决这个问题。

结论:Databricks 和 Snowflake

在这篇文章中,我们讨论了两个非常流行的多云数据分析产品:Databricks 和 Snowflake。正如上一篇博文中所讨论的,我们从它们的背景范式的角度专门研究了它们。

我们注意到 Snowflake 在数据仓库领域有基础,而 Databricks 更面向数据湖。然而,两者都将其范围扩展到了其范式的典型限制之外。


这两种工具绝对可以单独使用来满足数据分析平台的需求。 Databricks 可以直接从存储中提供数据或将数据导出到数据集市。不需要单独的数据仓库另一方面,可以将数据直接摄取到 Snowflake 进行处理、建模和提供。以我的经验,纯Snowflake解决方案更常见,可能是因为 Databricks 已经出现很久了。

然而,正如在上一篇文章中提到的,在一个平台上同时使用这两种产品可能是个好主意。图中描述了这种解决方案的故障,Databricks 读取和处理原始数据,Snowflake 负责管道的发布端。同样重要的是要注意 Databricks 和 Snowflake 正在合作以更好地集成产品。

总而言之,混合解决方案的未来似乎更加光明。


原文https://architect.pub/data-lakes-and-warehouses-databricks-and-snowflake

相关实践学习
数据库实验室挑战任务-初级任务
本场景介绍如何开通属于你的免费云数据库,在RDS-MySQL中完成对学生成绩的详情查询,执行指定类型SQL。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
5月前
|
人工智能 分布式计算 大数据
FFA 2023 「流式湖仓」专场:从技术原理到应用实践打造流式湖仓新架构
今年 Flink Forward Asia(以下简称 FFA ) 重新回归线下,将于 12 月 8 - 9 日在北京望京凯悦酒店举办。Flink Forward Asia 2023 大会议程已正式上线!
640 0
FFA 2023 「流式湖仓」专场:从技术原理到应用实践打造流式湖仓新架构
|
7月前
|
存储 分布式计算 数据可视化
数仓架构的设计
数仓架构的设计
58 0
|
15天前
|
存储 运维 监控
|
2月前
Snowflake的架构
【2月更文挑战第25天】
41 3
Snowflake的架构
|
2月前
|
存储 SQL 机器学习/深度学习
通用数据湖仓一体架构正当时
通用数据湖仓一体架构正当时
74 2
|
4月前
|
存储 分布式计算 数据挖掘
数仓分层架构
数仓分层架构
83 0
|
5月前
|
存储 数据采集 大数据
大数据必知必会系列——数仓分层架构及三层架构流程[新星计划]
大数据必知必会系列——数仓分层架构及三层架构流程[新星计划]
159 0
|
5月前
|
存储 分布式计算 关系型数据库
云原生数据仓库AnalyticDB MySQL湖仓版架构升级,持续释放技术红利!
云原生数据仓库AnalyticDB MySQL湖仓版架降价23%!持续提供高性价比的产品服务
|
5月前
|
存储 分布式计算 关系型数据库
|
7月前
|
SQL 消息中间件 存储
从理论到实践,实时湖仓功能架构设计与落地实战
实时湖仓是「实时计算」和「数据湖」的一种结合应用场景,并不是具体指一个产品模块。本文主要介绍了平台通过相关功能的设计,让数据开发可以更简单更直观地了解 Flink Catalog、数据湖、流批一体等概念,并在实际业务场景中更方便地去落地实践。
131 0