阿里云代理商-阿里云服务器-阿里云数据库-重庆典名科技

什么是数据湖

发布时间: 2020-08-18 10:31:02文章作者: 网站编辑阅读量: 726
  数据湖或hub的概念最初是由大数据厂商提出的,表面上看,数据都是承载在基于可向外扩展的HDFS廉价存储硬件之上的。但数据量越大,越需要各种不同种类的存储。最终,所有的企业数据都可以被认为是大数据,但并不是所有的企业数据都是适合存放在廉价的HDFS集群之上的。
  
  什么是数据湖
  
  数据湖是目前比较热的一个概念,许多企业都在构建或者计划构建自己的数据湖。但是在计划构建数据湖之前,搞清楚什么是数据湖,明确一个数据湖项目的基本组成,进而设计数据湖的基本架构,对于数据湖的构建至关重要。关于什么是数据湖?有不同的定义。
  
  Wikipedia上说数据湖是一类存储数据自然/原始格式的系统或存储,通常是对象块或者文件,包括原始系统所产生的原始数据拷贝以及为了各类任务而产生的转换数据,包括来自于关系型数据库中的结构化数据(行和列)、半结构化数据(如CSV、日志、XML、JSON)、非结构化数据(如email、文档、PDF等)和二进制数据(如图像、音频、视频)。
  
  AWS定义数据湖是一个集中式存储库,允许您以任意规模存储所有结构化和非结构化数据。
  
  微软的定义就更加模糊了,并没有明确给出什么是Data Lake,而是取巧的将数据湖的功能作为定义,数据湖包括一切使得开发者、数据科学家、分析师能更简单的存储、处理数据的能力,这些能力使得用户可以存储任意规模、任意类型、任意产生速度的数据,并且可以跨平台、跨语言的做所有类型的分析和处理。
  
  关于数据湖的定义其实很多,但是基本上都围绕着以下几个特性展开。
  
  1、 数据湖需要提供足够用的数据存储能力,这个存储保存了一个企业/组织中的所有数据。
  
  2、 数据湖可以存储海量的任意类型的数据,包括结构化、半结构化和非结构化数据。
  
  3、 数据湖中的数据是原始数据,是业务数据的完整副本。数据湖中的数据保持了他们在业务系统中原来的样子。
  
  4、 数据湖需要具备完善的数据管理能力(完善的元数据),可以管理各类数据相关的要素,包括数据源、数据格式、连接信息、数据schema、权限管理等。
  
  5、 数据湖需要具备多样化的分析能力,包括但不限于批处理、流式计算、交互式分析以及机器学习;同时,还需要提供一定的任务调度和管理能力。
  
  6、 数据湖需要具备完善的数据生命周期管理能力。不光需要存储原始数据,还需要能够保存各类分析处理的中间结果,并完整的记录数据的分析处理过程,能帮助用户完整详细追溯任意一条数据的产生过程。
  
  7、 数据湖需要具备完善的数据获取和数据发布能力。数据湖需要能支撑各种各样的数据源,并能从相关的数据源中获取全量/增量数据;然后规范存储。数据湖能将数据分析处理的结果推送到合适的存储引擎中,满足不同的应用访问需求。
  
  8、 对于大数据的支持,包括超大规模存储以及可扩展的大规模数据处理能力。
  
  综上,个人认为数据湖应该是一种不断演进中、可扩展的大数据存储、处理、分析的基础设施;以数据为导向,实现任意来源、任意速度、任意规模、任意类型数据的全量获取、全量存储、多模式处理与全生命周期管理;并通过与各类外部异构数据源的交互集成,支持各类企业级应用。
  什么是数据湖
  这里需要再特别指出两点:
  
  1)可扩展是指规模的可扩展和能力的可扩展,即数据湖不但要能够随着数据量的增大,提供“足够”的存储和计算能力;还需要根据需要不断提供新的数据处理模式,例如可能一开始业务只需要批处理能力,但随着业务的发展,可能需要交互式的即席分析能力;又随着业务的实效性要求不断提升,可能需要支持实时分析和机器学习等丰富的能力。
  
  2)以数据为导向,是指数据湖对于用户来说要足够的简单、易用,帮助用户从复杂的IT基础设施运维工作中解脱出来,关注业务、关注模型、关注算法、关注数据。数据湖面向的是数据科学家、分析师。目前来看,云原生应该是构建数据湖的一种比较理想的构建方式,后面在“数据湖基本架构”一节会详细论述这一观点。
  
  关于数据湖隐忧的问题
  
  数据湖架构面向多数据源的信息存储,包括物联网在内。大数据分析或归档可通过访问数据湖处理或交付数据子集给请求用户。但数据湖架构可不仅仅是一个巨大的磁盘而已。
  
  数据湖的数据持久性和安全却是需要优先考虑的因素。很多选择都能交付一个合理的成本,但并非所有都能满足数据湖的长期存储需求。挑战就在于数据湖中很多数据永远不会删除。这种数据的价值在于它要拿来分析以及和年复一年的数据进行比对,这将抵消其容量成本。
  
  在数据湖架构中,信息安全作为另一项挑战往往被人忽视。相比于其它,这种类型的存储安全要更加重要。数据湖架构从定义上看是将所有的鸡蛋放在一个篮子中。而如果其中一个存储库的安全被破坏,那么未知方将可能访问所有数据。很多数据都以易于读取的格式存储,像是JPEG、PDF文件——如果你的数据湖架构不够安全,那么信息损失很容易。
联系客服免费领取更多阿里云产品新购、续费升级折扣,叠加官网活动折上折更优惠