“数据湖”是一种由大数据实践驱动的技术架构,其理论体系的形成相对较晚。2016 年,“数据仓 库之父”美国学者比尔·恩门(Bill Inmon)出版《数据湖架构(Data Lake Architecture)》一书,对“数 据湖”相关话语体系进行了系统性梳理 [14]。现综合多个文献的内容对领域主要术语总结如下:
第一,数据湖(data lake)。
数据湖是一种可以接纳多种原始格式数据资源并面向用户需求提供 整体性数据服务的集中式、可扩展存储基础设施。数据湖与数据仓库(data warehouse)的区别在于接收端要求最大限度保持数据资源的自然状态,而数据仓库需要对数据进行预处理,最终纳入数据仓库的 数据都是结构化数据。因而,进入数据湖的数据资源类型众多、格式各异,可以是结构化数据、半结构化数据和结构化数据当中的任意存储格式。数据仓库采用“前端模式化”原则,所有进入数据仓库的数 据资源都遵循统一的数据模式 (data schema),而数据湖采用“后端模式化”原则,数据入湖之后保持其原始格式和状态不变,其内容信息可以根据用户需求进行抽取和重组,形成符合用户需要的新数据模 式和数据集合。“数据湖”架构通常采用虚拟存储技术,其存储空间可以根据输入端数据流量的变化而动态扩展,可以满足大数据环境下的大体量数据存储需求。
第二,数据沼泽(data swarm)。
“数据沼泽”被比尔·恩门称为“单向数据湖(one-way data lake)”,是指数据湖当中接收和存储了大量原始数据(raw data),但是由于缺乏必要的关联、整合与整体性管理的技术和手段,数据内容无法被用户所有效利用的状态。“数据沼泽”的产生源于机构将仅将数据湖视为数据存储的技术手段而缺乏整体性的开发利用规划。当数据湖规模较小时,用户尚可自行查找需要的数据。当数据湖当中的数据量超过一定的规模时,人工查找信息的难度和成本将会陡增, 业务陷于数据湖难以推进。最终,存储数据的“数据湖”变成只进不出的“数据垃圾填埋场”。
第三,数据水洼(data pond)。“
数据水洼”是美国学者亚历克斯·戈雷利克(Alex Gorelik) 在其著作《大数据湖最佳实践(The Enterprise Big Data Lake)》当中提出的概念,通常是指具有单一用途或供单一项目使用的数据集。“数据湖”当中的数据来源于“数据水洼”,在体量上等于“数据水洼”当中数据的总和,但是在形式上可能根据用户需求进行较大幅度的重组或融合。经过重组的数据尽管也可以追溯其来源于哪一个“数据水洼”,但是通常情况下用户只关心数据本身而不去追溯每一条数据的真实来源。正如自来水用户在喝水时只关心自来水厂的水处理工艺是否达标,用户在访问数据湖时,只要确认数据湖的运营管理是符合规范的,就可以对从中抽取的数据建立信任。
第四,数据池塘(data pool)。
“数据池塘”又称“数据池”,是指“数据湖”当中根据管理对 象类型和管理需求的不同,专门划分出来的承担特定管理任务的功能模块。“数据池塘”是“数据湖”的下一级概念,其本质是“数据湖分区”,即“数据湖”的基本组成单元。尽管对数据湖进行分区管理是学界共识,但是具体的分区方案各不相同。比尔·恩门在《数据湖架构》中将数据湖分为“初始数据池”“模拟信号数据池”“应用程序数据池”“文本数据池”和“归档数据池”共五种类型的数据池。亚历克斯·戈雷利克在《大数据湖最佳实践》当中将数据湖分为“原始区”“产品区”“工作区”和“敏感区”共四种类型的数据湖分区,功能上与数据池塘是类似的。
第五,数据集市(data mart)。
数据集市是从数据仓库架构延续使用的一个概念,通常是按照用 户需求从数据湖中抽取的部分结构化的数据集合。“数据集市”是相当于是数据湖的“产品”,“数据集市”与“数据湖”的关系,类似詹姆斯·迪克逊所述的瓶装水和水源湖泊的关系。
第六,数据河流(data stream)。
数据河流是指与数据湖保持长期、稳定大数据量交换的数据连接, 通常是来源于某个持续产生大数据量的业务部门。例如,卫星、测绘、监控等领域的感知设备不间断产生的大量流媒体数据可以持续性地流入数据湖当中。数据河流可以位于流入端,也可以位于流出端,如果业务部门的信息系统需要持续性地从数据湖获取数据,也可以建立长期数据连接。
第七,数据循环(data loop)。
数据循环是指由业务系统产生的原始数据经过数据湖处理之后, 与来源于其他机构的数据一起,重新为来源机构的业务系统服务。数据循环是数据湖的反馈环节,体现了参与数据湖存储的收益,构成来源机构愿意将各自的业务数据存入数据湖的重要原因。
|