漫说数据湖——如何建湖?如何做数据ETL?如何使用数据......
从前,数据少的时候,人们拿脑子记就可以了,大不了采用结绳记事:
后来,为了更有效率的记事和工作,数据库出现了。数据库核心是满足快速的增删改查,应对联机事务。
比如你用银卡消费了,后台数据库就要快速记下这笔交易,更新你的卡余额。
日子久了,人们发现,库里的数据越来越多了,不光要支持联机业务,还有分析的价值。
但是,传统数据库要满足频繁、快速的读写需求,并不适合这种以读取大量数据为特征的分析业务。
于是,人们在现有的数据库基础上,对数据进行加工。这个加工过程,被称为:ETL(Extract-Transform-Load)抽取、转换和加载。
经过这三步,数据仓库就建好了。
这个“仓库”,主要是为了数据分析用途,比如用于BI、出报表、做经营分析等等。
简要总结下:数据库用于联机事务,通常为小数据量高频读写。
数据库等原始数据,经过ETL加工以后,就被装进了数据仓库。
数据仓库主要用于联机分析业务,通常为大数据量读取。
虽然应用场景不一样,但他们都是结构化数据。
在相当长的一段时间内,他们联合起来,共同满足企业的实时“交易”型业务和联机“分析性”的业务。
随着时代的发展,数据的类型越来越多,人们对数据的需求也越来越复杂。
企业越来越看重这些“大数据”的价值,希望把他们存好、用好。
这些数据,五花八门,又多又杂,怎么存呢?
索性挖个大坑吧!
这就是数据湖的原型。说白了,数据湖就像一个“大水坑”,是一种把各类异构数据进行集中存储的架构。
为什么不是数据河Data River?
因为,数据要能存,而不是一江春水向东流。
为什么不是数据池Data Pool?
因为,要足够大,大数据太大,一池存不下。
为什么不是数据海Data Sea?
因为,企业的数据要有边界,可以流通和交换,但更注重隐私和安全,“海到无边天作岸”,那可不行。
so,数据湖,Data Lake,刚刚好。
可是,概念虽好,把这个“水坑”用好却不容易。
1、这个“坑”挖在哪儿?怎么挖?
2、这“坑”挖好后,这么把各种水都引过来灌到坑里?
3、灌了半坑水,如何才能把他们利用起来?
如何建湖?如何做数据ETL?如何使用数据......当下数据湖还面临诸多的挑战:
一、数据湖的架构体系
数据湖是一种存储架构,本质上讲是存储,企业基于云服务,可以快速挖出一个适合自己的“湖”,完成数据的采集、存储、处理、治理,提供数据集成共享服务、高性能计算能力和大数据分析算法模型,支撑经营管理数据分析应用的全面开展。为规模化数据应用赋能。
数据湖技术架构涉及了数据接入(转移)、数据存储、数据计算、数据应用、数据治理、元数据、数据质量、数据资源目录、数据安全及数据审计等10个方面领域:
图:数据湖包含技术体系
1.数据接入(移动)
数据提取允许连接器从不同的数据源获取数据并加载到数据湖中。数据提取支持:所有类型的结构化,半结构化和非结构化数据。批量,实时,一次性负载等多次摄取;在数据接入方面,需提供适配的多源异构数据资源接入方式,为企业数据湖的数据抽取汇聚提供通道。
2.数据存储
数据存储应是可扩展的,提供经济高效的存储并允许快速访问数据探索。它应该支持各种数据格式。
3.数据计算
数据湖需要提供多种数据分析引擎,来满足数据计算需求。需要满足批量、实时、流式等特定计算场景。此外,向下还需要提供海量数据的访问能力,可满足高并发读取需求,提高实时分析效率。并需要兼容各种开源的数据格式,直接访问以这些格式存储的数据。
4.数据治理
数据治理是管理数据湖中使用的数据的可用性,安全性和完整性的过程。数据治理是一项持续的工作,通过阐明战略、建立框架、制定方 针以及实现数据共享,为所有其他数据管理职能提供指导和监督。
5.元数据
元数据管理是数据湖整个数据生命周期中需要做的基础性工作,企业需要对元数据的生命周期进行管理。元数据管理本身并不是目的,它是组织从其数据中获得更多价值的一种手段,要达到数据驱动,组织必须先是由元数据驱动的。
6.数据资源目录
数据资源目录的初始构建,通常会扫描大量数据以收集元数据。目录的数据范围可能包括全部数据湖中被确定为有价值和可共享的数据资产。数据资源目录使用算法和机器学习自动完成查找和扫描数据集、提取元数据以支持数据集发现、暴露数据冲突、推断语义和业务术语、给数据打标签以支持搜索、以及标识隐私、安全性和敏感数据的合规性。
7.隐私与安全
数据安全是安全政策和安全程序的规划、开发和执行、以提供对数据和信息资产的身份验证、授权、访问和审核。需要在数据湖的每个层中实现安全性。它始于存储,发掘和消耗,基本需求是停止未授权用户的访问。身份验证、审计、授权和数据保护是数据湖安全的一些重要特性。
8.数据质量
数据质量是数据湖架构的重要组成部分。数据用于确定商业价值,从劣质数据中提取洞察力将导致质量差的洞察力。数据质量重点关注需求、检查、分析和提升的实现能力,对数据从计划、获取、存储、共享、维护、应用、消亡生命周期的每个阶段里可能引发的各类数据质量问题进行识别、度量、监控、预警等一系列活动,并通过改善和提高组织的管理水平使得数据质量获得进一步提高。
9.数据审计
两个主要的数据审计任务是跟踪对关键数据集的更改:跟踪重要数据集元素的更改;捕获如何/何时/以及更改这些元素的人员。数据审计有助于评估风险和合规性。
10.数据应用
数据应用是指通过对数据湖的数据进行统一的管理、加工和应用,对内支持业务运营、流程优化、营销推广、风险管理、渠道整合等活动,对外支持数据开放共享、数据服务等活动,从而提升数据在组织运营管理过程中的支撑辅助作用,同时实现数据价值的变现。在基本的计算能力之上,数据湖需提供批量报表、即席查询、交互式分析、数据仓库、机器学习等上层应用,还需要提供自助式数据探索能力。
二、以AWS数据湖为例
1.数据统计更智能高效
AWS服务来提供诸如数据提交、接收处理、数据集管理、数据转换和分析、构建和部署机器学习工具、搜索、发布及可视化等功能。建立以上基础后,再由用户选择其它大数据工具来扩充数据湖。
图:AWS数据湖解决方案图
AWS数据湖解决方案提供了完整的数据架构支持,为企业构建一站式数据处理体验,目前已在多个行业和客户中使用。例如:数据湖解决方案支撑平安城市“一云一湖一平台”系统架构,为公安客户构建了物理分散(分散在各地市、区县的数据)、逻辑统一的数据治理架构。
图:AWS整个大数据分析服务的全景图
AWS数据湖的一个典型架构,我们看到数据湖并不是一个产品、也不是一项技术,而是由多个大数据组件、云服务组成的一个解决方案。
可以全方位的可以提供最先进的数据湖的大数据分析,提供多种数据服务:
▲ETL和数据目录服务;
▲人工智能服务:帮助开发人员将预先构建的人工智能功能插入到他们的应用程序中;
▲机器学习平台服务:帮助所有开发人员轻松入手并深入了解机器学习。
三、如何通过数据治理实现数据湖商业价值
数据湖对一个企业的数字化转型和可持续发展起着至关重要的作用。构建开放、灵活、可扩展的企业级统一数据管理和分析平台, 将企业内、外部数据随需关联,打破了数据的系统界限。
1)利用数据湖智能分析、数据可视化等技术,实现了数据共享、日常报表自动生成、快速和智能分析,满足企业各级数据分析应用需求。
2)深度挖掘数据价值,助力企业数字化转型落地。实现了数据的目录、模型、标准、认责、安全、可视化、共享等管理,实现数据集中存储、处理、分类与管理,实现报表生成自动化、数据分析敏捷化、数据挖掘可视化,实现数据质量评估、落地管理流程。
四、数据湖遇到挑战
数据湖本身是一个中心化的存储,能够存储任意规模的结构化与非结构化数据。数据湖的优势就是数据可以先作为资产存放起来,问题就在于如何把这些数据在业务中利用起来。当部署了数据湖之后,数据治理问题将会接踵而至,比如从数据湖到数据湖,如何将数据进行分流、湖的数据如何进行整理等。
数据仓库里的数据是经过过整理、清晰易懂的。而数据湖的概念是不经处理直接进行堆砌,那么数据湖就有可能会变成“数据沼泽”,筛选难度会变大。
由于定义不正确、信息不完整、数据陈旧或无法找到所需信息,它需要更多的元数据来理解存储在数据湖中的数据资产,包括数据内容、数据资产图谱、数据敏感性、用户喜好、数据质量、上下文(缺乏上下文将无法用于分析)和数据价值等业务层面的理解。另外这些系统和应用是技术人员开发的,由于技术人员和业务人员的思维和“语言”存在差异,这使得业务用户获取数据变得更加复杂和困难。
1.避免数据沼泽
如何让数据湖的水保持清亮不会成为数据沼泽?
“数据湖的数据不被有效使用就会成为大垃圾场。”中国有句谚语:“流水不腐,户枢不蠹”。数据只有流动起来,才可以不成为数据沼泽,湖泊只是暂存数据河流的基地。数据流动就意味着所有的数据产生,最终要有它的耕种者和使用者。要让数据有效流动起来,就要建立有效的“数据河”(Data River)。
业界在数据湖的尝试上一般都会忽视数据治理的重要性,这是很危险的,由它导致的数据沼泽也是企业对数据湖持续观望的原因之一。
2.数据智能化治理是数据湖实现价值必有之路
对数据治理的需求实际更强了。因为与“预建模”方式的数仓不同,湖中的数据更加分散、无序、不规则化等,需要通过治理工作达到数据“可用”状态,否则数据湖很可能会“腐化”成数据沼泽,浪费大量的IT资源。平台化的数据湖架构能否驱动企业业务发展,数据治理至关重要,没有数据湖治理,企业可能失去有意义的商业智能。这也是对数据湖建设的最大挑战之一。
考虑全面的数据湖治理,包括是谁引入的数据、谁负责数据,以及数据的定义,以确保数据的妥善标记和使用,实现对企业数据资源内容层面的优化改造和有效管控。
五、数据湖的未来展望
现阶段数据湖更多是作为数据仓库的补充,数据湖概念和技术还在不断演化,不同的解决方案供应商也在添加新的特性和功能,包括架构标准化和互操作性、数据治理要求、数据安全性等。
数据湖作为一种云服务随时按需满足对不同数据的分析、处理和存储需求,数据湖的扩展性,可以为用户提供更多的实时分析,基于企业大数据的数据湖正在向支持更多类型的实时智能化服务发展,将会为企业现有的数据驱动型决策制定模式带来极大改变。
数据湖发展到现在,已经成为企业数据体系的基础:数据库、数仓、大数据处理、机器学习等各种数据服务,都可以“一湖尽收”。在这个“上云用数赋智”时代,很多企业已经完成上云第一步,接下来,就是如何“用数”和“赋智”。
第 372 篇 数据分析展示就用DataHunter
-End-
*本文来源:数据工匠俱乐部、特大号