赞
踩
维基百科上定义,数据湖(Data Lake)是一个以原始格式存储数据的存储库或系统。它按原样存储数据,而无需事先对数据进行结构化处理。
一个数据湖可以存储:
但是随着大数据技术的融合发展,数据湖不断演变,汇集了各种技术,包括数据仓库、实时和高速数据流技术、数据挖掘、深度学习、分布式存储和其他技术。逐渐发展成为一个可以存储所有结构化和非结构化任意规模数据,并可以运行不同类型的大数据工具,对数据进行大数据处理、实时分析和机器学习等操作的统一数据管理平台。
1)接入不同数据源,包括数据库中的表(关系型或者非关系型)、各种格式的文件(csv、json、文档等)、数据流、ETL工具(Kafka、Logstash、DataX等)转换后的数据、应用API获取的数据(如日志等);
2)自动生成元数据信息,确保进入数据湖的数据都有元数据;
3)提供统一的接入方式,如统一的API或者接口;
数据湖存储的数据量巨大且来源多样,数据湖应该支持异构和多样的存储,如HDFS、HBase、Hive等;
数据湖中拥有海量的数据,对于用户来说,明确知道数据湖中数据的位置,快速的查找到数据,是一个非常重要的功能。
1)自动提取元数据信息,并统一存储;
2)对元数据进标签和分类,建立统一的数据目录;
3)建立数据血缘,梳理上下游的脉络关系,有助于数据问题定位分析、数据变更影响范围评估、数据价值评估;
4)跟踪数据时间旅行,提供不同版本的数据,便于进行数据回溯和分析;
1)对于接入的数据质量管控,提供数据字段校验、数据完整性分析等功能;
2)监控数据处理任务,避免未执行完成任务生成不完备数据;
1)对数据的使用权限进行监管;
2)对敏感数据进行脱敏和加密;
提供一系列数据分析工具,便于用户对数据湖的数据进行自助数据发现,包括:
一旦企业有了对数据和系统的明晰定义,就可以通过该机制利用大量的企业信息。该机制的一种常见实现策略是通过构建企业级数据湖来提供统一的企业数据模型,在该机制中,数据湖负责捕获数据、处理数据、分析数据,以及为消费者系统提供数据服务。
数据湖能从以下方面帮助到企业:
很多时候,数据湖被认为与数据仓库是等同的。实际上数据湖与数据仓库代表着企业想达成的不同目标。在企业中两者的作用是互补的,不应认为数据湖的出现是为了取代数据仓库,毕竟两者的作用是截然不同的。
特性 | 数据仓库 | 数据湖 |
---|---|---|
数据 | 来自事务系统、运营数据库和业务线应用程序的关系数据 | 来自 IoT 设备、网站、移动应用程序、社交媒体和企业应用程序的非关系和关系数据 |
Schema | 设计在数据仓库实施之前(写入型 Schema) | 写入在分析时(读取型 Schema) |
性价比 | 更快查询结果会带来较高存储成本 | 更快查询结果只需较低存储成本 |
数据质量 | 可作为重要事实依据的高度监管数据 | 任何可以或无法进行监管的数据(例如原始数据) |
用户 | 业务分析师 | 数据科学家、数据开发人员和业务分析师(使用监管数据) |
分析 | 批处理报告、BI 和可视化 | 机器学习、预测分析、数据发现和分析 |
只能处理结构化数据进行处理,而且这些数据必须与数据仓库事先定义的模型吻合。 | 能处理所有类型的数据,如结构化数据,非结构化数据,半结构化数据等,数据的类型依赖于数据源系统的原始数据格式。 | |
处理结构化数据,将它们或者转化为多维数据,或者转换为报表,以满足后续的高级报表及数据分析需求。 | 拥有足够强的计算能力用于处理和分析所有类型的数据,分析后的数据会被存储起来供用户使用。 | |
数据仓库通常用于存储和维护长期数据,因此数据可以按需访问。 | 数据湖通常包含更多的相关的信息,这些信息有很高概率会被访问,并且能够为企业挖掘新的运营需求。 |
如何快速搭建数据湖?搭建数据湖无非2种选择,一种是基于开源解决方案,一种是基于商业解决方案。开源解决方案的优势是没有授权成本,但有个前提,即你所在的企业得有一个能够驾驭开源技术的团队,有能力自己解决问题。因为,开源解决方案通常都比较零散,不成系统。对于初次搭建数据湖的企业而言,复杂性很高,成功搭建难度大。基于商业的解决方案则相反,对于较小或刚开始使用数据湖的公司来说,基于公有云的数据湖解决方案实现数据湖的快速构建是可行的选择。
不仅搭建和管理维护的复杂性降低,并且成本可监控。其次,基于云的数据湖解决方案技术成熟度更高。能得到更为成熟的技术环境支持,包括工具的多样性。最后,可扩展性和安全也是重要原因之一。目前,数据湖已经在公有云上得到了完美的实现和应用,例如:可以基于Amazon S3、AWS Glue等多个基本云服务快速构建出一套数据湖服务 。近期,AWS宣布,AWS Glue、Amazon Athena在由西云数据运营的AWS中国(宁夏)区域正式上线。
AWS Glue是一种全托管的数据提取、转换和加载 (ETL) 服务及元数据目录。它的价值在于,能让准备数据更容易加载数据到数据库、数据仓库和数据湖,用于数据分析。Amazon Athena则是一种交互式查询服务,使用标准的SQL,可以直接对Amazon S3上的数据做交互查询。而这两种服务都是无服务器服务,意味着不需要管理基础设施,只需要为运行的查询付费。
官方已经给出了如何使用 AWS Glue 和 Amazon S3 构建数据湖基础和如何使用Amazon Athena 分析数据的具体教程,本文就不再赘述。当然,如果你觉得这种方式还有些复杂,那么接下来的一项服务,可以重点关注。去年,AWS发布了一项名为AWS Lake Formation的新服务,进一步降低了数据湖搭建的门槛,该服务简化了数据湖的创建过程,并在几天(而不是几个月)内构建一个安全的数据湖。
不过,该服务目前还未在中国正式推出。当然,你也可以视自身情况自行选择其他供应商,本文推荐基于AWS数据湖解决方案来实现快速搭建数据湖,是因为,到目前为止,AWS数据湖/数据分析解决方案是最完整,提供服务最丰富的,也是成功案例最多的。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。