Data Lakehouse:你的下一个数据仓库

文摘   2024-05-28 17:26   北京  
作者:张友东 StarRocks TSC member/镜舟科技 CTO

数据分析是现代企业和组织决策过程中不可或缺的一部分,数据分析技术经过数十年的发展,需求场景从 BI 报表到数据探寻、实时预测、用户画像等不断丰富,技术架构经历从数据仓库、数据湖、到数据湖仓的演进,并走向数据湖仓一体架构,通过一套架构服务多样化的分析场景。

数据仓库

数据仓库的发展可以追溯到 1980 年,关系型数据库、日志文件等数据源的数据经过 ETL 处理,统一存储到数据仓库,用于服务 BI 报表、数据挖掘等分析场景。数据仓库在数据质量、事务处理、查询性能、数据治理等方面有明显的优势,但随着数据分析的需求越来越大,数据仓库的方案也面临一些挑战。
  1. 数据多样化:除了结构化的数据,半结构化、非结构化的数据越来越多。
  2. 数据孤岛问题:数据仓库面向主题管理,导致数据分散形成孤岛,难以形成全局统一的数据分析。
  3. 成本与扩展性:大数据量增长带来数据存储成本与横向扩展的问题。
  4. 高级数据分析支持:数据仓库能很好的支持 BI 相关应用,但随着 AI 的发展,AI 应用与数据仓库的数据交互效率不高,制约了 AI 应用的发展。

数据湖

数据湖的概念在 2010 年首次提出,如果把数据仓库/集市类比为瓶装水,数据湖则是以更加原生态方式存储数据的大池子。数据湖的核心优势是统一与开放,数据基于对象存储、HDFS 等系统实现低成本、可扩展的 数据存储,并作为企业数据的 Single Source of Truth;同时数据的数据格式是开放的,便于不同的应用灵活访问。

数据湖解决了数据成本与扩展性、数据多样性、数据孤岛等问题,并同时满足 BI 与 AI 应用对数据分析的诉求;但数据湖在数据分析性能、数据管理与治理方面仍然存在较大的挑战。

湖仓分层架构

数据仓库与数据湖各有长处,业界持续在探索两者如何更好地融合,在过去几年湖仓分层的架构得到广泛的应用。企业数据统一写到数据湖,作为统一存储,湖上开放的数据可以服务 AI、ML 等应用场景;数据湖上部分数据经过 ETL 处理导入到数据仓库服务 BI 等 OLAP 分析场景。

湖仓分层架构融合了数据湖与数据仓库的优势,但面临一些问题与挑战。部分数据从数据湖导入到数据仓库,数据链路的增长影响数据分析的时效性,两份数据也会带来冗余存储、数据口径不一致的问题;另外,对于数据仓库里加工产生的数据,仍然很难高效的服务 AI 场景。

数据湖仓

湖仓分层架构在过去几年被广泛应用,并且不断地加深融合。新兴的数据仓库如 Snowflake、Redshift、BigQuery 均采用云原生存算分离架构演进,并且支持直接查询开放数据湖的能力。数据湖在事务支持、查询性能等方面的能力不如数据仓库,近年来随着新兴数据湖格式如 Iceberg、Hudi、Delta Lake 等的发展,事务支持能力得到提升;另外,在查询性能上,通过不断优化数据湖上的数据分布以及增加缓存机制等技术的演进,数据湖上的数据分析性能已经大幅提升,达到接近数据仓库的水平。

从数据湖和数据仓库的演进来看,两者在不断的融合,并逐步往数据湖仓的方向演进,兼具数据湖与数据仓库的优势。数据湖仓作为一种新的数据分析架构,用户采用湖仓就能方便将数据源和数据应用连接在一起。数据湖仓兼具数据仓库与数据湖的优势,湖仓具备开放统一的数据存储能力,并基于统一存储直接服务批处理、流处理、交互式分析等多种分析场景,实现湖仓 One data,all analytics 的业务价值。

StarRocks 3.0:Evolution to Lakehouse

StarRocks 2.0 版本凭借其优异的查询性能在业界得到广泛应用,很多用户采用湖仓分层架构,并将 Hive、Iceberg 等数据湖里的数据部分导入到 StarRocks 服务 OLAP 分析场景。StarRocks 3.0 通过存算分离架构升级、极速的湖仓分析性能、物化视图等关键能力,帮助用户构建数据湖仓,简化数据分析架构。


1

存算分离架构

StarRocks 存算分离 2023 年 4 月正式发布,目前已有上百家用户上线存算分离架构。与存算一体架构相比,保持了原有简洁的架构;同时极大的降低数据存储成本,提升计算的弹性能力。

访问远端对象存储的延时相比本地存储有数量级的提升,StarRocks 通过 Data Cache 机制提升数据访问性能,确保热数据与存算一体架构接近。根据实际测试,存算分离缓存命中的情况与存算一体架构相比性能完全相同;在完全冷查询时,性能大概是存算一体的 30-50%。

在存算分离架构下,StarRocks 可以方便的支持 Multi-warehouse 的能力;多个 Warehouse 共享一份数据,不同 Warehouse 应用在不同的 Workload,计算资源可以进行物理隔离,并且可以按需独立弹性伸缩。

2

极速湖仓分析

StarRocks 3.0 提供统一 Catalog 管理的能力,用户不仅能高效分析导入到 StarRocks 的数据,同时也支持直接分析开放数据湖 Apache Hive、Apache Iceberg、Apache Hudi、Apache Paimon 的数据,分析性能相比业界同类产品快 3-5 倍。

StarRocks 在查询层 CBO、向量化、Runtime filter 等技术可以无缝应用到开放数据湖分析,但湖上数据分析还面临一些其他挑战。湖上数据一般以原始格式存储,数据组织上没有针对查询优化,同时访问远端对象存储/HDFS 的延时相比本地盘更高。StarRocks 通过 I/O 合并、延迟物化、Data cache 等一系列关键技术加速湖上数据分析。另外,为了让用户平滑的获得 StarRocks 极速湖仓分析性能,StarRocks 实现了 Trino 方言的兼容,用户可以采用 StarRocks 无缝直替 Trino。

3

物化视图

StarRocks 物化视图提供了一种从预建模到后建模的方法,大大缩短业务建模以及上线时间。业务可以直接查询原始数据,借助 StarRocks 极致的查询性能,已经能满足绝大部分场景的需求;如果直接查询性能不满足,则可以按需构建物化视图来加速查询,StarRocks 支持物化视图的透明查询改写,实现业务无感的情况下实现查询加速。

基于 StarRocks 构建 Lakehouse

基于 StarRocks,用户可以高效的构建 Lakehouse 数据分析架构,用户可以选择 StarRocks 内表或开放数据湖 Apache Iceberg、Apache Hudi、Apache Paimon 作为统一的数据存储,基于 StarRocks 服务 BI 报表、Ad-hoc 等多样化的分析场景,对于业务性能要求高的查询,通过物化视图技术实现按需透明加速。

湖仓实践案例

  1. 腾讯微信数据写入到 Iceberg,基于 StarRocks 实现准实时分析,数据新鲜度从小时/天到分钟即,查询性能提升 3-6 倍。
  2. 携程旅行数据统一存储在 Hive,通过 StarRocks 直接服务 BI 报表,交互式分析。重点业务场景按需创建物化视图查询加速,查询性能提升 10+ 倍

总结

Lakehouse 兼具数据仓库与数据湖的优势,是下一代数据分析架构的演进趋势;StarRocks 是构建 Lakehouse 的最佳选择,已在微信、小红书、携程、平安银行等数十个大型企业落地实践,帮助企业实现 One data、all analytics 的业务价值。


关于 StarRocks 

Linux 基金会项目 StarRocks 是新一代极速全场景 MPP 数据库,遵循 Apache 2.0 开源协议。
面世三年来,StarRocks 致力于帮助企业构建极速统一的湖仓分析新范式,是实现数字化转型和降本增效的关键基础设施。目前,全球 380 家以上市值超过 70 亿元人民币的顶尖企业选择用 StarRocks 来构建新一代数据分析能力,这些企业包括腾讯、携程、平安银行、中原银行、中信建投、招商证券、大润发、百草味、顺丰、京东物流、TCL、OPPO 等。StarRocks 也已经和全球云计算领导者亚马逊云、阿里云、腾讯云等达成战略合作关系。

StarRocks 全球开源社区也正飞速成长。目前,StarRocks 的 GitHub star 数已达 8000,吸引了超过 350 位贡献者和数十家国内外行业头部企业参与共建,用户社区也有过万人的规模。凭借其卓越的表现,StarRocks 荣获了全球著名科技媒体 InfoWorld 颁发的 2023 BOSSIE Award 最佳开源软件奖项。

金融:中信建投中原银行 | 申万宏源 | 平安银行 | 中欧财富


互联网:微信|小红书|网易邮箱|滴滴|美团餐饮SaaS | B站|携程 | 同程旅行|360|58同城|芒果TV|得物 |贝壳|汽车之家欢聚集团腾讯


游戏:腾讯游戏|波克城市37手游 | 游族网络


新经济:蔚来汽车|理想汽车|顺丰|京东物流跨越速运 | 大润发华润万家TCL |万物新生 | 百草味 | 多点 DMALL 酷开科技


StarRocks 技术内幕:极速湖仓神器:物化视图存算分离,兼顾降本与增效   |实时更新与极速查询如何兼得Query Cache,一招搞定高并发资源隔离大数据自动管理查询原理浅析易用性全面提升


StarRocks
StarRocks 是 Linux 基金会旗下的开源项目,专注于打造世界顶级的分析型数据库,以帮助企业建立“极速统一”的湖仓新范式。目前, StarRocks 已成功帮助全球数百家大型企业构建新一代数据分析能力。
 最新文章