没有银弹:数据湖的现实与梦想

2019-04-26  本文已影响0人  龙咯楼

数据湖正在成为一种越来越流行的大数据解决方案,而数据湖这个词已经被大数据供应商赋予了太多不同的含义,如果有什么工作是传统数据仓库做不了的,那就把它塞进数据湖,以至于数据湖已经变成了一个定义模糊的概念。数据湖是不是就是传说中的银弹,可以解决所有数据仓库不能解决的问题呢。本文将讲述,关于数据湖的定义,与数据仓库的区别,以及现实中的数据湖解决方案和未来会怎样发展。

数据湖是什么

维基百科对数据湖的定义是,数据湖是一种在系统或存储库中以自然格式存储数据的方法,它有助于以各种模式和结构形式配置数据,通常是对象块或文件。数据湖的主要思想是对企业中的所有数据进行统一存储,从原始数据(源系统数据的精确副本)转换为用于报告、可视化、分析和机器学习等各种任务的目标数据。数据湖中的数据包括结构化数据(关系数据库数据),半结构化数据(CSV、XML、JSON等),非结构化数据(电子邮件,文档,PDF)和二进制数据(图像、音频、视频),从而形成一个容纳所有形式数据的集中式数据存储。

可见,企业使用数据湖架构,核心出发点就是把不同结构的数据统一存储,使不同数据有一致的存储方式,在使用时方便连接,真正解决数据集成问题。因此,数据湖架构最主要的特点,一是支持异构数据聚合,二是无需预定义数据模型即可进行数据分析。

数据湖从本质上来讲,是一种企业数据架构方法,物理实现上则是一个数据存储平台,用来集中化存储企业内海量的、多来源,多种类的数据,并支持对数据进行快速加工和分析。从实现方式来看,目前Hadoop是最常用的部署数据湖的技术,但并不意味着数据湖就是指Hadoop集群。为了应对不同业务需求的特点,MPP数据库+Hadoop集群+传统数据仓库这种“混搭”架构的数据湖也越来越多出现在企业信息化建设规划中。

数据湖与数据仓库的区别

数据湖的概念最早是基于数据仓库提出的,数据仓库作为一种数据存储架构,旨在保存从多数据源提取的数据,这些数据包括业务操作型数据、业务分析型数据,以及企业内的运营管理型数据。数据仓库负责将各类数据经过抽取、清洗、转换、聚合、存储等加工处理,进行企业级数据统一管理和分析。

而数据湖作为另一种数据存储架构,它以数据原生格式保存大量原始数据或明细数据,以供按需访问,数据湖可以用来描述任何具有不明确的模式和数据需求的大型数据存储。可见,数据仓库中的数据是具有特定主题分类的,这可以指导数据管理人员有针对性的开展数据分析工作。但对于数据湖来说,它管理的所有数据只是作为未来数据分析的基础素材。

数据湖与数据仓库这两个概念很容易被混淆,它们的区别主要有三个方面。

一是存储数据类型不同。数据仓库中存储的主要是结构化数据,对于加载到数据仓库中的数据,首先需要定义数据存储模型。而数据湖以其原生格式保存大量原始数据,包括结构化的、半结构化的和非结构化的数据,并且在使用数据之前,不对数据结构进行定义。

二是数据处理模式不同。数据仓库是高度结构化的架构,数据在清洗转换之后才会加载到数据仓库,用户获得的是处理后数据。而在数据湖中,数据直接加载到数据湖中,然后根据分析的需要再处理数据。

三是服务对象不同。从用户差异上来看,数据仓库适合企业中大数据产品开发人员和业务用户。而数据湖最适合数据分析师或数据科学家,他们直接基于数据沙箱做自由探索和分析,这些人要求有技术背景,会写代码或熟悉SQL。

通过以上对比,可见数据湖不是简单的数据仓库升级版,两者有各自的存在必要。与此同时,还有一种数据沼泽的提法,这是指一种设计不良、未充分归档或未有效维护的数据湖,用户无法有效地分析和利用其中存储的数据。

数据湖解决方案的五个优势

数据湖解决方案面向多数据源的信息存储需求而提出,大数据应用可通过访问数据湖处理数据,但数据湖不仅仅是一个巨大的数据存储库,相比传统的数据存储方案,数据湖解决方案有着以下优势。

一是数据集成方式简单。数据湖支持以低成本收集并存储大量任意类型数据,企业中的所有数据源都可以送入数据湖中,极大简化了数据的集成工作。

二是加速数据准备过程。分析师和数据科学家不需要花时间直接访问多个来源,可以更轻松地搜索、查找和访问数据,这加速了数据准备过程。

三是具备更好的可扩展性。数据湖利用分布式数据存储系统来存储数据,具有很高的扩展能力,数据科学家可以在数据湖内创建数据沙箱来开发和测试新的分析模型。

四是系统建设成本更低。传统数据仓库的建设成本很大部分花在数据处理阶段和购买商业化数据存储软件上,而数据湖中的数据缺乏结构性,在使用数据之前无需执行任何数据处理,而且开源数据存储软件的广泛使用也降低了成本。

五是便于创建智能化分析应用。数据湖以原始的格式保存数据,数据保真度高,同时支持用户直接访问数据,创建数据沙箱,更适合使用机器学习算法来训练数据和创建智能化分析应用。

几个典型的数据湖解决方案

数据湖的概念诞生之后,一些大数据厂商也提出了自己对数据湖的理解,并依托自身核心产品或开源软件,发布了侧重于不同应用场景下的数据湖解决方案。

华为数据湖探索服务(DLI)解决方案基于Apache Spark生态,提供完全托管的大数据处理分析服务。用户使用标准SQL或Spark程序就能完成异构数据源的联邦分析,支持多种数据格式(CSV、JSON、Parquet、ORC、CarbonData等)和云上多种数据源(OBS、DWS、CloudTable、RDS等)。在对AI能力的支持上,实现了将对图片、视频、语言的处理分析能力嵌入在SQL里,存储和计算资源自动实现弹性扩容。目前的应用场景主要包括海量日志分析、异构数据源联邦分析和大数据ETL处理。

AWS数据湖方案主要是基于AWS云服务,该方案提出在 AWS 云上部署高可用的数据湖架构,并提供用户友好的数据集搜索和请求控制台,AWS数据湖方案主要借助了Amazon S3、AWS Glue等AWS 服务来提供诸如数据提交、接收处理、数据集管理、数据转换和分析、构建和部署机器学习工具、搜索、发布及可视化等功能。建立以上基础后,再由用户选择其它大数据工具来扩充数据湖。

Dell EMC 数据湖方案则是基于其存储技术,它将数据湖定义为一个现代化的数据仓库,是可整合数据的横向扩展存储方案。该方案包括了EMC信息基础设施、Pivotal和VMware的存储及大数据分析技术,来实现数据的存储、分析、应用三项核心需求,支持不同的数据存储技术(Data Domain、Isilon、ECS)和数据移动技术(DistCp、snapshot、NDMP)。据称已成功应用于医疗服务领域,用来改进预测性护理工作以及发现数据趋势。

但总体来言,业界提出数据湖解决方案的供应商并不多,大多数企业只是在做这方面的研究和探索,数据湖解决方案中提倡的自助分析、数据沙箱在实际中应用程度也并不高。

数据湖的未来

数据湖相对于以往的关系型数据库、传统式数据仓库,更多体现的是一种数据存储技术上的融合。数据湖的提出,改变了用户使用数据的方式,同时,数据湖也整合了各种类型数据的分析和存储,用户不必为不同的数据构建不同数据存储库。

但是,现阶段数据湖更多是作为数据仓库的补充,它的用户一般只限于专业数据科学家或分析师。数据湖概念和技术还在不断演化,不同的解决方案供应商也在添加新的特性和功能,包括架构标准化和互操作性、数据治理要求、数据安全性等。

未来,数据湖可能会进一步发展,作为一种云服务随时按需满足对不同数据的分析、处理和存储需求,数据湖的扩展性,可以为用户提供更多的实时分析,基于企业大数据的数据湖正在向支持更多类型的实时智能化服务发展, 将会为企业现有的数据驱动型决策制定模式带来极大改变。

结语

从理论上讲,数据湖是一种存储大量复杂格式数据,避免企业数据孤岛化的数据架构方案,它一方面降低数据集成成本,另一方面为用户提供更灵活的数据访问支持。但同时,各类数据湖解决方案目前在技术实现上还不够成熟,仍处在演化过程中,其访问控制、数据安全、数据质量、元数据管理等特性仍需要完善。

在大数据+AI时代里,从数据仓库到数据湖,不仅仅是数据存储架构的变革,更是大数据思维方式的升级。随着基于深度学习技术的AI应用需求广泛出现,需要提供一个数据平台,支持对原始数据的轻松访问,开展算法模型训练和验证,数据湖解决方案将可能成为解决AI应用需求最好的选择。

来源:中国信息产业网

上一篇下一篇

猜你喜欢

热点阅读