作者:稀饭
1、什么是数据湖
数据湖(Data Lake)是一个以原始格式存储数据的存储库或系统,它按原样存储数据,而无需事先对数据进行结构化处理。一个数据湖可以存储结构化数据(如关系型数据库中的表),半结构化数据(如CSV、日志、XML、JSON),非结构化数据(如电子邮件、文档、PDF)和二进制数据(如图形、音频、视频)。
2、数据湖的特点
(1)逻辑统一
数据湖不是一个单一的物理存储,而是根据数据类型、业务区域等由多个不同的物理存储构成,并通过统一的元数据语义层进行定义、拉通和管理。
(2)类型多样
数据湖存放所有不同类型的数据,包括企业内部IT系统产生的结构化数据、业务交易和内部管理的非结构化的文本数据、公司内部园区各种传感器检测到的设备运行数据,以及外部的媒体数据等。
(3)原始记录
数据湖是对原始数据的汇聚,不对数据做任何的转换、清洗、加工等处理,保留数据最原始特征,为数据的加工和消费提供丰富的可能。
3、数据入湖的标准
(1)明确数据Owner
数据Owner由数据产生对应的流程Owner担任,是所辖数据端到端管理的责任人,负责对入湖的数据定义数据标准和密级,承接数据消费中的数据质量问题,并制定数据管理工作路标,持续提升数据质量。
(2)发布数据标准
入湖数据要有相应的业务数据标准。业务数据标准描述公司层面需共同遵守的“属性层”数据的含义和业务规则,是公司层面对某个数据的共同理解,这些理解一旦明确并发布,就需要作为标准在企业内被共同遵守。
(3)认证数据源
通过认证数据源,能够确保数据从正确的数据源头入湖。认证数据源应遵循公司数据源管理的要求,一般数据源是指业务上首次正式发布某项数据的应用系统,并经过数据管理专业组织认证。认证过的数据源作为唯一数据源头被数据湖调用。当承载数据源的应用系统出现合并、分拆、下线情况时,应及时对数据源进行失效处理,并启动新数据源认证。
(4)定义数据密级
定义数据密级是数据入湖的必要条件,为了确保数据湖中的数据能充分地共享,同时又不发生信息安全问题,入湖的数据必须要定密。数据定密的责任主体是数据Owner,数据管家有责任审视入湖数据密级的完整性,并推动、协调数据定密工作。数据定级密度在属性层级,根据资产的重要程度,定义不同等级。不同密级的数据有相应的数据消费要求,为了促进公司数据的消费,数据湖中的数据有相应的降密机制,到降密期或满足降密条件的数据应及时降密,并刷新密级信息。
(5)数据质量评估
数据质量是数据消费结果的保证,数据入湖不需要对数据进行清洗,但需要对数据质量进行评估,让数据的消费人员了解数据的质量情况,并了解消费该数据的质量风险。同时数据Owner和数据管家可以根据数据质量评估的情况,推动源头数据质量的提升,满足数据质量
的消费要求。
(6)元数据注册
元数据注册是指将入湖数据的业务元数据和技术元数据进行关联,包括逻辑实体与物理表的对应关系,以及业务属性和表字段的对应关系。通过联接业务元数据和技术元数据的关系,能够支撑数据消费人员通过业务语义快速地搜索到数据湖中的数据,降低数据湖中数据消费的门槛,能让更多的业务分析人员理解和消费数据。
4、数据入湖的方式
数据入湖的方式主要有物理入湖和虚拟入湖两种,根据数据消费的场景和需求,一个逻辑实体可以有不同的入湖方式。两种入湖方式相互协同,共同满足数据联接和用户数据消费的需求,数据管家有责任根据消费场景的不同,提供相应方式的入湖数据。
(1)物理入湖
是指将原始数据复制到数据湖中,包括批量处理、数据复制同步、消息和流集成等方式。
(2)虚拟入湖
是指原始数据不在数据湖中进行物理存储,而是通过建立对应虚拟表的集成方式实现入湖,实时性强,一般面向小数据量应用,大批量的数据操作可能会影响源系统。
5、数据入湖的技术手段
(1)批量集成
对于需要进行复杂数据清理和转换且数据量较大的场景,批量集成是首选。通常,调度作业每小时或每天执行,主要包含ETL、ELT和FTP等工具。批量集成不适合低数据延迟和高灵活性的场景。
(2)数据复制同步
适用于需要高可用性和对数据源影响小的场景。使用基于日志的CDC捕获数据变更,实时获取数据。数据复制同步不适合处理各种数据结构以及需要清理和转换复杂数据的场景。
(3)消息集成
通常通过API捕获或提取数据,适用于处理不同数据结构以及需要高可靠性和复杂转换的场景。尤其对于许多遗留系统、ERP和SaaS来说,消息集成是唯一的选择。消息集成不适合处理大量数据的场景。
(4)流集成
主要关注流数据的采集和处理,满足数据实时集成需求,处理每秒数万甚至数十万个事件流,有时甚至数以百万计的事件流。流集成不适合需要复杂数据清理和转换的场景。
(5)数据虚拟化
对于需要低数据延迟、高灵活性和临时模式(不断变化下的模式)的消费场景,数据虚拟化是一个很好的选择。在数据虚拟化的基础上,通过共享数据访问层,分离数据源和数据湖,减少数据源变更带来的影响,同时支持数据实时消费。数据虚拟化不适合需要处理大量数据的场景。
广告区↓





