数字化转型网数据专题将关注数据治理、数据质量管理、数据架构、主数据管理、数据仓库、元数据管理、数据备份、数据挖掘、数据分析、数据安全、大数据、数据合规、等数据相关全产业链相关环节。
数字化时代,一个残酷的事实就是:企业面临着数据管理与利用的重重困境。
数据很多,却往往像一盘散沙,分散在各个部门、各个系统之中,想整合整合不了,想有效利用却利用不起来。企业都是吭吭哧哧一顿瞎搞。对于业务部门来说,急需从海量数据中快速获取有价值的信息来优化业务流程、做出精准决策,但往往在数据的搜索与挖掘中陷入困境,时间花了一大把却收获寥寥。IT部门呢?则疲于应对数据存储的压力、数据格式的混乱以及数据安全的保障,数据的无序和复杂让他们焦头烂额。
在这样的背景下,数据湖的概念就出来了,许多企业都把数据湖当作救命稻草,然而,数据湖真的是企业数据管理的万能钥匙吗?它在应用过程中又会面临怎样的挑战和抉择呢?
一、数据湖的出现原因及要解决的问题
数据湖的出现不是偶然,数据湖的出现肯定是要来解决问题的,我从两个角度解析一波!
(一)从解决BI问题角度
1. 解决大数据量场景下磁盘IO瓶颈
在大数据分析中,随着数据量的不断增加,搞IT的人其实都会发现:传统的存储架构在数据读取IO方面会出现明显瓶颈。具体来说,在6.1存算分离的架构下,当数据达到1ww级以上,尤其是在支持到10ww级别的仪表板查询时,在S3的共享存储下更容易出现IO带宽瓶颈。数据湖的出现就是为了解决这个问题,能够更好地支撑大数据量(如10亿级)分析的目标,提供数据存储。
2. 附带能力
提供高可用、多数据格式的数据存储能力:数据湖可以存储多种格式的数据,并且保证数据的高可用性,这就为企业的数据管理提供了更灵活的选择。
部分数据分析时延由T+1缩短到T+0:数据湖通过特定的机制,如业务库通过CDC到湖,湖的DB表BI不需要更新,能够加快数据分析的速度,提高决策的及时性。
简化数据处理架构,降低运维、存储成本:数据湖不需要复杂的转换和处理过程,减少了数据处理架构的复杂性,从而降低了运维成本和存储成本。同时,也释放了更新时候的业务库压力。
(二)从满足客户对原始数据的需求角度
1. 存储需求
客户对低成本存储、多类型存储(结构化/半结构化/非结构化)有需求,客户有需求,企业就要满足。实际上,企业在业务中会产生大量不同类型的数据,数据湖能够提供一个统一的存储场所,满足这些多样化的存储需求。
2. 数据处理、管理和治理需求
数据湖具有提供数据处理、数据管理和数据治理的能力。随着数据量的增加和数据来源的多样化,对数据进行有效的处理、管理和治理变得至关重要。数据湖能够帮助企业更好地管理和利用原始数据,提高数据的价值。
二、数据湖相关技术
数据湖的相关技术有很多,近几年涌现出不少有特色的数据湖技术,现在给大家介绍其中的两种:Delta 和 Iceberg。
1. Delta
以Databricks推出的delta为例,它要解决的核心问题集中在流批处理的统一、数据格式规范、数据更新、事务保证等方面。在没有delta数据湖之前,采用经典的lambda架构会存在数据格式混乱、缺乏ACID保证、无法高效更新历史数据以及产生大量小文件等问题。Delta通过将业务数据经过Kafka导入到统一的数据湖中,上层业务可借助各种分析引擎做进一步分析。
2. Iceberg
Iceberg是一个通用的数据湖项目,定位为解决数据湖的通用问题,虽然说目前功能不如Delta丰富,但底层设计可以说是非常牢固,有潜力的。它将自身定位为一种“数据组织格式”,定义了数据、元数据的组织方式,向上提供统一的“表”的语义,底层仍使用Parquet、ORC等存储数据。
三、Polars与数据湖
讲完数据湖的相关技术,这里想再大家延申扩展一下——Polars与数据湖。
为什么要谈Polars呢?因为在数据湖的生态系统中,Polars扮演着多个重要角色,与数据湖存在着深度的交互关系。
数据湖作为企业存储和管理海量数据的基础架构,汇聚了来自不同数据源的多样化数据。而Polars的数据湖节点则充当了数据输入的关键通道。它负责将客户端传过来的数据,有条不紊地写入到数据湖中。这一过程可不仅仅是简单的数据存储,它是为后续的数据处理和分析奠定基础。在实际的商业场景中,例如电商企业,每天都会产生大量的用户交易数据、浏览行为数据等。Polars数据湖节点能够高效地将这些数据整合并存储到数据湖中,确保数据湖成为一个数据资源丰富的宝库。