睿治

智能数据治理平台

睿治作为国内功能最全的数据治理产品之一,入选IDC企业数据治理实施部署指南。同时,在IDC发布的《中国数据治理市场份额,2022》报告中,蝉联数据治理解决方案市场份额第一。

Snowflake和Databricks殊途同归?“湖仓一体”成为数据架构一大趋势

时间:2022-02-10来源:此人不存在浏览数:1359

面向未来,新一代大数据架构有三大趋势:流批一体、云原生数据、湖仓一体。 今天,我们来聊聊湖仓一体。 

Databricks,湖仓一体,380亿美元

如果说,云原生数据,成就了Snowflake,那么湖仓一体就成就了Databricks。两者都是大数据行业千亿美元的市值空间。2021年9月,由ApacheSpark初始成员创立的大数据公司Databricks宣布获得16亿美元H轮融资,本轮融资过后,其估值高达380亿美元。这是该公司继当年2月的10亿美元G轮融资之后的又一轮融资,使其融资总额达到35亿美元,融资后估值飙升至380亿美元。Databricks受到追捧,与其产品和技术的关系密不可分。Databricks拥有丰富的Spark生态、Spark on云原生,此外,Databricks更令人瞩目的一大核心技术,就是湖仓一体。湖仓一体,简单理解,就是将灵活低成本的数据湖技术,与高质量治理的数据仓库技术,结合为一体化的技术。总部位于美国旧金山的Databricks成立于2013年,由开源处理引擎系统Apache Spark的多位创始人联合创立,专注于大数据和AI人工智能。Databricks开创了云计算领域的“Lakehouse”概念,这一术语是由“DataLakes”(数据湖)与“Data Warehouses”(数据仓库)合成而成。2019年,Databricks推出湖仓一体的关键开源技术DeltaLake。2020年初,Databricks提出面向未来的Lakehouse湖仓一体的体系架构。该体系基于开放架构,将构建在低成本云对象存储之上、Schema数据模式、ACID事务的数据湖和数据仓库结合起来。大数据另一巨头Snowflake在2020年9月上市,创下软件公司史上最大规模IPO。Databricks和Snowflake在云数据仓库领域是直接竞争对手。Snowflake将其产品称为Data Cloud,而Databricks则用Lakehouse描述其产品。上市在望,Databricks能否续写Snowflake的IPO神话?与Snowflake业务有重合的Databricks,能否超越Snowflake的辉煌,是一大悬念。 

什么是湖仓一体

数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策和业务分析。数据仓库需要提前决定数据模式。对数据仓库而言,历史的,聚合的数据比原始的记录重要得多。不同于数据层仓库,数据湖是以原始格式存储数据。数据湖的数据模式不需要提前进行定义,在准备使用数据时,再定义即可,提高了灵活性和可扩展性。 数据仓库主要是关系型数据的结构化数据存储与分析技术。而数据湖主要是一种海量的结构化与非结构化数据的存储技术。 数据仓库,属于事先建模的方式,其存储类型通常包括结构化与半结构化的两类数据。数据仓库向特定的计算引擎开放,易于实现存储引擎和计算引擎的高度优化。数据仓库难于启动,但易于运维管理,在数据治理上质量很高。 数据湖,则属于事后建模的方式,其存储类型包括了结构化、半结构化与非结构化的所有类型数据。数据湖向计算引擎全面开放,其存储引擎和计算引擎的优化不易实现。数据湖易于启动,但难于运维管理,在数据治理上质量不高。 所以,两种技术各有其优缺点,当下企业往往分别建设数据仓库与数据湖,而如果能够将两者合一,则可以同时获得两种技术的优点,这就是湖仓一体的技术。 

如何实现湖仓一体 

湖仓一体的发展路径有两类:第一类以Databricks为代表,发展重点从数据湖应用场景逐步到增强数据仓库的能力。第二类则以Snowflake为代表,发展重点从数据仓库应用场景逐步到提升数据湖的能力。 不同厂商的实现路径各不相同,这其实和厂商自己的产品方向、技术基础、存量系统有直接关系。 Databricks这样的厂商,是以数据湖为核心发展起来的。Databricks最初主要是一家数据湖公司,但一直在添加数仓功能,从而实现湖仓一体。 而对于Snowflake这样的厂商,是以数仓为核心发展起来的。作为数仓起家的公司,Snowflake一直在忙于添加数据湖功能,来实现湖仓一体。 所以Databricks们谈的是从湖走向仓,而Snowflake们则谈的是从仓走向湖。殊途同归,路径不同,但最终目的地都是湖仓一体。 数据湖是一种统一存储、但各引擎和组件松散协同的组织方式,所以在需要强管理特性的企业级能力方面存在天然不足的问题。 为使数据湖具备数据仓库的ACID能力,业界先后涌现几大开源系统:

2018年,Netflix开源了元数据服务系统Iceberg,提供包括多版本和多版本并发MVCC在内的增强数仓能力。

2018年和2019年,Uber和Databricks相继推出Hudi和Delta Lake,均提供Delta增量文件格式框架,用以在数据湖上支持Update/Insert、事务等的数据仓库功能。

这三个开源项目出发点不同,但目标都是统一和高质量的元数据管理服务。 数据仓库与数据湖,看上去是两套矛盾的技术体系,所以实现湖仓一体,充满了技术挑战和复杂度。需要解决湖与仓之间的各种协同问题,包括异构集群、不同存储系统的数据一致性和系统打通、不同计算引擎对数据的交叉引用、元数据的统一管理、权限的统一管理、安全的统一管理、用户的一致性体验、统一的数据治理。 

1、整体架构,一横和一纵。

以数仓起家的厂商,通常是横向架构,左边数据湖,右边数据仓库,湖与仓横向并列,湖和仓之间横向流动。以数据湖起家的厂商,则通常是纵向架构,下边是数据湖,数据湖之上是数据仓库,以湖为基础在湖上建仓,湖和仓之间纵向流动。 

2、数据智能,分类存储。

可以将数据分为两大类:已知用途的数据和未知用途的数据。 已经清晰知道的数据,可以建模后,放在数据仓库。未知和需要探索的数据,可以放在数据湖。 这里的关键,是智能数据分析技术,哪些是已知,哪些是未知,根据不同的业务和数据特点自动做分类和存储。 

3、打通不同存储系统,智能流动。

方式一:横向架构的湖仓一体,需要数仓与数据湖之间的数据映射系统。湖和仓为多套存储系统并存,但是其存储系统是打通的。并且需要数据仓库和数据湖之间的数据智能加速互访。 方式二:纵向架构的湖仓一体,原始数据存放在数据湖,在数据湖之上构建数据仓库。也可以选择将数据湖作为数仓的ODS层(原始数据/贴源层)。 

4、异构计算引擎,交叉访问。

对于计算引擎,实现湖与仓的异构计算集群之间的网络打通。多套计算引擎可以通过不同元数据访问不同存储系统中的数据。 

5、统一数据治理和展示。

打通湖与仓的元数据管理,实现统一的数据治理和数据展示。  

6、统一用户体验。

从用户视觉来看,需要体现为一体化的一套系统。保证数据访问和使用的统一性、安全性和一致性。实现数据湖和数据仓库之间的无缝流转。对用户来说,不需要看见湖和仓,数据可以自由流动,自由对接应用层的多样化业务需求和丰富生态。 

结语 

产业数字化转型的浪潮,数据是数字科技驱动业务转型的重要生产要素。 湖仓一体,通过一横一纵两种架构路径,打通数据仓库和数据湖两套体系,让数据和计算在湖与仓之间自由流动,兼具湖的灵活与仓的高质量治理。 云原生的、湖仓一体的大数据体系技术,指引数据的未来发展方向,代表了未来。让我们一起拥抱未来!

(部分内容来源网络,如有侵权请联系删除)
立即申请数据分析/数据治理产品免费试用 我要试用
customer

在线咨询