什么是湖仓一体数据平台?怎么构建湖仓一体数据平台
什么是湖仓一体数据平台?
世界各地的组织都在寻找存储解决方案来管理大数据的数据量、延迟时间、弹性和数据访问要求。最初,很多公司利用现有的技术栈,尝试让数据湖提供与仓库相同的功能,调整数据仓库以处理大量的半结构化数据,或选择将数据保留在这两种系统中。
最终,这些方法导致了成本居高不下、用户不愉快以及整个企业的数据重复。数据湖仓一体已成为一种新的混合数据架构,旨在提供数据仓库和数据湖的所有出色优势,同时消除两个系统的弱点。
一般湖仓一体数据平台基于的低费用存储服务(对象存储)、无服务器计算引擎和功能强大的数据管理产品,提供可伸缩性极强且安全的云原生数据湖仓一体解决方案
数据湖仓一体的定义
数据湖仓一体是一种将数据湖和数据仓库融合在一起的数据架构。数据湖仓一体支持机器学习、商业智能和预测分析,使组织能够利用低成本、灵活的存储服务来存储所有类型的数据(结构化、非结构化和半结构化数据),同时提供数据结构和数据管理功能。
什么是湖仓一体?
数据湖仓一体是一种现代数据架构,它结合了数据湖(原始形式的大型原始数据存储库)和数据仓库(经过整理的结构化数据集)的主要优势来创建单一平台。具体来说,数据湖仓一体让组织可以使用低成本存储空间来存储大量原始数据,同时提供结构和数据管理功能。
过去,数据仓库和数据湖必须作为单独的孤立架构来实现,以避免底层系统过载并对同一资源造成争用。公司使用数据仓库来存储用于商业智能 (BI) 的结构化数据,并使用报告和数据湖存储用于机器学习 (ML)工作负载的非结构化和半结构化数据。但是,若需要将任一架构中的数据一起处理,这种方法需要定期在两个独立系统之间转移数据,从而产生复杂性,导致成本增加,并带来数据新鲜度、重复和一致性方面的问题。
数据湖仓一体旨在打破这些孤岛,提供所需的灵活性、可伸缩性和敏捷性,以确保您的数据为业务创造价值,而不会导致效率低下
数据湖仓、数据湖与数据仓库
“数据湖仓一体”一词合并了两种类型的现有数据存储库:数据仓库和数据湖。那么,数据湖仓一体、数据湖和数据仓库有什么不同呢?
数据仓库 数据仓库为需要生成报告和决策数据洞见的企业用户提供了快速的数据访问和 SQL 兼容性。所有数据都必须经过 ETL(提取、转换和加载)阶段。这意味着,在加载之前,系统会根据用例以特定格式或架构来对其进行优化,以支持高性能查询和数据完整性。但是,这种方法会限制访问数据的灵活性,而且若需要迁移数据以备将来使用,会造成额外的费用。
数据湖
数据湖以原生格式存储大量非结构化和结构化数据。与数据仓库不同,数据在分析期间需要处理、清理和转换来提高加载速度,因此非常适合大数据处理、机器学习或预测分析。然而,数据湖需要具备数据科学方面的专业知识,这限制了可以使用这些数据的人群,而且若得不到妥善维护,数据质量可能会随着时间的推移而下降。数据湖还增加了实时查询的难度,因为数据未经处理,因此数据仍可能需要经过清理、处理、注入和集成才能使用。
数据湖仓一体
数据湖仓一体将这两种方法结合起来,形成了一个单一的结构,让您可以出于从 BI、数据科学到机器学习等众多不同目的访问和利用数据。换言之,数据湖仓一体可以捕获组织的所有非结构化、结构化和半结构化数据,并将其存储在低成本存储空间中,同时为所有用户提供根据需要整理和探索数据的功能。
数据湖仓一体功能
主要的数据湖仓一体功能包括:
- 低成本的单一数据存储区:适用于所有数据类型(结构化数据、非结构化数据和半结构化数据)
- 数据管理功能:用于应用架构、强制执行数据治理,以及提供 ETL 流程和数据清理
- 针对 ACID(原子性、一致性、隔离性和持久性)属性提供事务支持,以确保多个用户同时读取和写入数据时的数据一致性
- 标准化存储格式:解除数据锁定,提供开放的数据存储格式,可供任何外部系统使用
- 端到端流式传输:支持实时提取数据和生成数据洞见
- 将计算资源和存储资源分开:支持垂直(节点实例规格秒级扩缩容)和水平横向弹性伸缩,按需调用计算资源,无常驻资源,确保针对多种工作负载进行弹性扩缩
BI 应用直接访问湖仓一体中的源数据,可减少数据重复。
数据湖仓一体的工作原理是什么?
在使用数据湖仓一体时,请务必考虑它要实现的目标。数据湖仓一体旨在集中各种数据源并简化工程工作,让您组织中的每个人都可以成为数据用户。
数据湖仓一体使用与数据湖相同的低费用云对象存储空间来提供按需存储,以便轻松预配和扩缩。与数据湖一样,它能够以原始形式捕获和存储大量所有类型的数据。湖仓一体在该存储区中集成了元数据层,以提供类似仓库的功能(湖上建仓),例如结构化架构、对 ACID 事务的支持、数据治理以及其他数据管理和优化功能
使用数据湖仓一体的优势
- 简化的架构
数据湖仓一体消除了两个独立平台的孤岛,因此您只需专注于管理和维护单个数据存储库。工具还可以直接连接到源数据,这样您就无需提取或准备要在数据仓库中使用的数据。
- 提高数据质量
您可以在数据湖仓一体架构中强制执行结构化数据和数据完整性的架构,以确保一致性。此外,湖仓一体可缩短提供新数据的时间,确保数据更新及时
- 费用更低
在低成本存储空间中存储大量数据,而无需维护数据仓库和数据湖。数据湖仓一体还有助于降低 ETL 流程和去重产生的费用。
- 提高可靠性
数据湖仓一体可减少多个系统之间的 ETL 数据传输,从而降低数据移动时出现质量问题或技术问题的可能性
- 改进的数据治理
通过数据湖仓一体将数据和资源整合在一起,从而更轻松地实现、测试及交付治理和安全控制措施。
- 减少数据重复
不同系统中存在的数据副本越多,数据不一致和不可信的可能性就越大。借助数据湖仓一体,您可以获得可在整个企业之间共享的单一数据源来做出决策,从而防止数据重复导致任何不一致并产生额外的存储费用。
- 多种工作负载
您可以将多个工具直接连接到湖仓一体,从而在同一存储库中为分析、SQL、机器学习和数据科学工作负载提供支持。
计算引擎能支持多种计算模式:批计算,流计算及实时交互式分析
- 高可伸缩性
借助数据湖仓一体的低成本云对象存储空间,您可以将计算与存储空间分离开来,提供近乎无限的即时可伸缩性。您可以根据业务需求分别对计算能力和存储空间进行扩缩。
数据湖仓一体数据平台的架构设计
最后来讲一下我理解的湖仓一体数据架构应该是什么样子
我们先来看一下之前我们数据架构是怎么样子:
这种组装式 Lamda 数据架构带来的问题:
引擎数据语义均不统一,带来极高的开发和维护人力成本。
异构存储,多套元数据,带来大量的计算和存储冗余和管理成本。
缺乏满足业务变化的灵活性。
这种虽然可能在数据架构中也引入了数据湖的组件,但是本身 Lamda 架构缺陷和问题没有从根本上解决,也只是一个简单的数据联邦查询分析而已,不能算是真正的湖仓一体。真正的湖仓一体解决方案,从现在Snowflake和Databricks等产品来看应该是湖上建仓,而不是简单的数据联邦。
下面我们来看看湖仓一体的数据架构应该怎么设计:
我们可以看到新一代湖仓一体架构非常的简洁,带来的好处也非常明显:
数据存储部分,由湖仓一体架构承接Data+AI的统一数据底盘;
计算引擎部分,打破Lambda架构限制,一个引擎完成多个场景计算支持;
存算分离:存储和计算完全分离,Serverless 弹性算力技术,提供秒级扩缩容的能力
面向AI部分,在湖仓一体底盘之上向上迭代,同时与下层存储及数据分析引擎,做融合计算。比如我们可以有SQL 和 Python 的融合计算,通过这种方式实现一个面向未来的存储架构。
提供功能强大的数据管理产品
我们来看一个新一代云原生湖仓一体数据平台的产品的全景架构图:
云器Lakehouse产品
云器 Lakehouse 是一种创新的湖仓架构服务,旨在为企业提供一个全托管的数据管理和分析平台。该服务通过整合数据仓库构建、数据湖探索分析、实时与离线数据处理以及业务报表等多种功能,满足企业在不同发展阶段对扩展性、成本和性能的综合需求。
云器 Lakehouse 采用存算分离和 Serverless 弹性算力技术,并具备智能优化特性,旨在简化数据开发和管理工作,加速企业数据洞察和价值实现。
1. 完全开箱即用的端对端数据解决方案
2. 可视化数据开发
提供一站式可视化数据同步(包括实时同步,CDC数据同步),数据开发,任务调度及作业运维,可以平滑实现从开发环境到生产环境的无缝切换
3. 任务运维
4. 数据地图及数据血缘
数据地图:
数据血缘:
5. 数据质量
云器Lakehouse提供了丰富的数据质量功能,用户可以根据自己需要进行数据质量规则的定义及数据质量的监控
6. 数据安全
云器作为一个云原生Lakehouse SAAS服务,提供了完善的数据安全,操作审计,权限控制,网络策略等能力,确保用户数据安全及隐私。
7. 弹性计算
云器 Lakehouse 采用存算分离和 Serverless 弹性算力技术,并具备智能优化特性,旨在简化数据开发和管理工作,加速企业数据洞察和价值实现
提供用户秒级创建销毁,启停集群,秒级扩缩容,按量收费,使用就收费不使用不收费的模型,极大的帮助用户节省成本,平均能帮助用户节省30-50%的成本。
用户可以通过界面快速的创建集群,集群分为不同模式:
通用模式:跑批操作
分析模式:一般是用在增量计算,分钟级流计算,实时OLAP分析等实时、近实时场景,还有BI报表可视化等场景使用
我们可以通过几个场景来看这种存算分离,完全serverless化带来的优势
场景一:你每天要跑批作业,晚上两个小时跑完,我们这边你可以设置集群1分钟没有新的作业自动停止,停止就不计费,只收取你两个小时的费用,第二天跑批的时候,云器Lakehouse引擎一秒自动拉起集群
场景二:你每天查看报表或者报表开发,你也可以设置集群一分钟自动拉起,比如中午大家都在休息使用的很少,这两个小时集群就是停止的,不产生费用,
场景三:你需要支持高QPS,比如你200并发,你的一个8C,32G实例可以支持10个并发,你可以设置单个实例支持10个并发,最小实例是1,最大实例是20,当你小于10我只启动一个实例,大于10,小于20我会自动给你拉起第二个实例,以此类推下去,这样就极大的节省成本
最后福利
欢迎大家体验试用云器Lakehouse产品,您可以通过扫描下面二维码进行提交体验申请,也可以直接联系我进行申请体验,如果你想使用云器Lakehouse产品,可以联系我(加我微信:35926237),我会给你提供优质的产品体验和服务
也可以通过关注云器公众号申请体验