何为数据湖?

数字宇宙的规模每年翻一番,预计到 2020 年将达到 44 万亿千兆字节。在这些数据中,90% 处于非结构化或半结构化状态。这向我们提出了双重挑战:找到存储这些数据的方式,以及保持高速处理这些数据的能力。此时,数据湖应运而生。

何为是数据湖?

数据湖是一个中央存储库,能够以原始且细粒度的形式存储来自多个数据源的大数据。它可以存储处于结构化、半结构化或未结构化状态的数据,这意味着能够以更加灵活的方式存储数据,以备后续使用。在存储数据时,数据湖可将数据与标识符及元数据标签相关联,以实现快速检索。

“数据湖”一词由在 Pentaho 担任 CTO 的 James Dixon 最早提出,意在指出数据湖中的数据有待完善,与在传统数据仓库系统中存储的干净、已处理的数据向对。

数据湖通常配置在由价格低廉且具有可扩展的商品化硬件组成的集群上。这使数据可以被“倾倒”到数据湖中,减轻存储能力的压力,方便未来需要时取用。这种集群可以本地部署,也可以部署在云端。

Ready For More? Download 数据湖:目的、实践、模式和平台 User Guide now.

Download Now

数据湖与数据仓库很容易混淆。与数据仓库相比,数据湖具有一些独特之处,可以为适用此技术的企业带来巨大优势,在大数据和大数据处理持续从本地部署迁移到云端的过程中尤为如此。

.

data lake diagram

.

数据湖的优势

数据湖的工作原理被称为读时模式。这意味着在存储数据前不必先将其转化成符合一定要求的预定义模式,仅在处理过程中读取数据时进行解析并转化成所需模式即可。这一特性节省了大量通常需要花费在定义模式上的时间,也使得数据可以以任何格式存储。

数据科学家可以利用数据湖更快更精确地访问、准备和分析数据。分析专家可以根据情绪分析或欺诈检测等各种用例的需要,访问以各种非传统格式存在于大型数据池中的数据。

 

Ready For More? Download 何为数据湖? User Guide now.

View Now

数据湖与数据仓库

数据湖与数据仓库在其基本用途和目标方面存在相似之处,因而容易混淆:

  • 两者都是整合了存储在企业中的各类数据的存储库。
  • 两者的目标都是创建适用于各种应用程序的一站式数据存储。

但是两者之间存在根本区别,使它们适用于不同的情形。

  • 读时模式与写时模式:数据仓库的模式会在数据存储前进行定义和构建(在数据写入时应用模式)。然而,数据湖不存在预定义的模式,因而允许以源生格式存储数据。在数据仓库中,大多数的数据准备通常在处理前进行。而在数据湖中,数据准备在使用数据时进行,次序更加靠后。
  • 用户可访问性的复杂与简单:由于数据在存储前并未以简化形式进行组织,数据湖通常需要一名对各类数据以及数据间相互关系都很精通的专家对数据进行总体浏览。而数据仓库具有定义充分的典型结构,因而可供技术用户和非技术用户轻松访问,即使团队的新成员也能很快掌握数据仓库的使用。
  • 灵活与僵化:使用数据仓库时,不但预先定义模式需要花费大量时间,而且当未来需求发生变化时,修改模式也需要耗费大量资源。而数据湖却对更改具有较强的适应性。此外,当存储容量需求增加时,在数据湖集群上扩展服务器也更容易实现。

 

获取有关这种区别的更多信息,以及寻求确定数据仓库与数据湖中哪项技术最适合您企业方面的帮助,请参阅“数据湖与数据仓库”。 →

云数据湖还是本地部署?

数据湖的通常实施形式为本地部署,存储通过 HDFS 实现,处理 (YARN) 则借助 Hadoop 集群完成。Hadoop 具有可扩展和低成本的特点,并因其固有的数据局部性优势(数据和计算处于同一位置)而性能卓越。

但是,创建本地部署基础架构也面临诸多挑战:

  • 空间:体积庞大的服务器会占用大量空间,这将耗费较高的成本。
  • 搭建:购买硬件并搭建数据中心并非易事,可能需要几周或几个月的时间。
  • 可扩展性:如果需要扩展存储容量,则必须扩展空间并征得高管对费用的批准,耗费大量的时间和精力。
  • 预估要求:由于本地部署的可扩展性较差,因此必须在项目开始时正确预估硬件要求。但数据每天的增长具有无序性,使得这一工作十分艰巨。
  • 成本:现已证明本地部署的预估成本高于云端。

而云数据湖有助于克服这些挑战。云数据湖:

  • 启用轻松快捷云为用户带来循序渐进而非一蹴而就的启用方式
  • 采用按需付费模式,经济高效。
  • 可随着需求的增长轻松进行扩展,消除了硬件要求预估和征得批准的压力。

在硬件基础设施占用空间方面的节省也增加了成本效益。

了解 BeachBody 如何利用数据湖改进其数据架构和人力资源的可扩展性:

云数据湖的挑战

当然,使用云数据湖也会面临挑战。由于存在安全风险,部分企业不愿在云中存储机密和敏感信息。虽然大多数云数据湖供应商都为安全性作出保证,并在过去几年里加强了保护措施,但数据失窃的不确定性依然存在。

另一个实际的挑战是,部分企业已经建立了用于存储其结构化数据的数据仓库系统。他们可以选择将所有这些数据迁移到云端,或者采用一种混合解决方案,利用通用计算引擎从数据仓库访问结构化数据,并从云端访问非结构化数据。

数据治理是另一项应当重视的问题。数据湖不应变成难以涉水而过的数据沼泽Talend 所提供的平台能够确保数据湖干净且可访问。

数据湖架构:Hadoop、AWS 和 Azure

应当牢记数据湖的两个组成部分:存储和计算。存储和计算都可以本地部署,也可以在云端。这使得数据湖架构在设计时存在多种组合选择。

企业可以选择完全本地部署,将整个架构迁移到云端,考虑采用多个云,甚至可采用混合方案。

方案可以灵活制定。以下为针对不同企业需求而制定的优秀可选方案。

部署在 Hadoop 上的数据湖

Hadoop 被大多数人默认与数据湖有关。

Hadoop 分布式服务器集群解决了大数据存储的问题。Hadoop 的核心是存储层,即 HDFS(Hadoop 分布式文件系统),它可以跨多个服务器存储和复制数据。YARN(另一个资源协调者)是决定如何在每个节点上调度资源的资源管理器。MapReduce 是 Hadoop 使用的编程模型,用于将数据分割成更小的子集,并在其服务器集群中处理这些数据。

除了这三个核心组件之外,Hadoop 生态系统还包括几个辅助工具,如 Hive、Pig、Flume、Sqoop 和 Kafka,它们可以帮助完成数据摄取、数据准备和数据提取。Hadoop 数据湖可以本地部署,或借助 Cloudera 和 HortonWorks 等企业平台实现云端建立。其他云数据湖(如 Azure)围绕 Hadoop 架构构建功能。

优势:

  • 技术人员对其熟悉程度高
  • 因开源而成本较低
  • 许多 ETL 工具都可以与 Hadoop 集成
  • 扩展容易
  • 数据局部性使计算速度更快

Ready For More? Download 何为数据湖? User Guide now.

View Now

部署在 AWS 上的数据湖

AWS 为其数据湖解决方案开发了一系列极为全面的产品套件。

Amazon Simple Storage Service (Amazon S3) 在提供存储功能的解决方案中居于核心地位。Kinesis Streams、Kinesis Firehose、Snowball 和 Direct Connect 是数据摄取工具,用户可借以将大量数据传输到 S3。此外还有一项数据库迁移服务,可协助将现有的本地部署数据迁移到云端。

除 S3 之外,DynamoDB 是一种低延迟的 No-SQL 数据库,而 Elastic Search 则是一种为查询数据湖提供简化机制的服务。Cognito 用户池可定义用户身份验证和对数据湖的访问。Security Token Service、Key Management Service、CloudWatch 和 CloudTrail 等服务可确保数据安全。还有适用于处理与分析的工具,如 RedShift、QuickSight、EMR 和机器学习。

AWS 提供了大量产品,因而其学习曲线的初始部分也十分陡峭。但是,该解决方案功能全面,可以广泛应用于商业智能应用程序中。

优势:

  • 全面且功能丰富的产品套件
  • 可根据独特的需求灵活选择产品
  • 成本低
  • 采用较高的安全与合规标准
  • 将计算和存储分离开来,可以根据需要进行逐项扩展
  • 与 APN (AWS Partner Network) 企业(如 Talend)的合作确保 AWS 能无缝载入

Ready For More? Download 何为数据湖? User Guide now.

View Now

部署在 Azure 上的数据湖

Azure 是 Microsoft 提供的数据湖。它有一个存储层和一个分析层,存储层被称为 Azure Data Lake Store (ADLS),分析层由两个组件组成,即 Azure Data Lake Analytics 和 HDInsight。

ADLS 建立在 HDFS 标准之上,具有无限的存储容量。它可以存储数万亿个文件,并允许单个文件的大小大于 1 PB。ADLS 允许数据以任何格式存储,并且具有安全性和可扩展性。它支持任何使用 HDFS 标准的应用程序。这使得现有数据的迁移更容易实现,并且有助于与其他计算机引擎间的即插即用。

HDInsight 是基于云的数据湖分析服务。它基于 Hadoop YARN 构建,允许使用 Spark、Hive、Kafka 和Storm 等工具访问数据。HDInsight 与 Azure Active Directory 相集成,因而支持企业级安全。

Azure Data Lake Analytics 也是一种分析服务,但是采用了不同的方法。它没有使用 Hive 等工具,而是采用了一种名为 U-SQL 的语言(SQL 和 C# 的结合)进行数据访问。它成本更低(仅针对已使用的作业付费),速度更快,非常适合大数据批处理。

优势:

  • 存储和计算都在云端实现,更易于管理。
  • 功能卓越的强大分析服务
  • 可轻松实现从现有的 Hadoop 集群进行迁移
  • 多数大数据专家都熟悉 Hadoop 及其工具,因此可以轻松找到相关人才。
  • 与 Active Directory 相集成,无需单独管理安全性

有关数据湖的其他资源

有关数据湖工作原理或数据湖入门的更多信息,请参阅以下资源:

数据湖入门

数据湖凭借其对速度和多样性的驾驭能力,令商业智能用户为之振奋。数据湖的出现使已经处理的数据与互联网上的主观数据相结合成为可能。

数据湖的应用,使通过筛选 X 光和核磁共振扫描等机器数据来确定疾病的因果模式得以实现,令物联网应用程序中的大量传感器数据能够以惊人的速度被处理,让零售行业能够利用被挖掘出的大量用户数据提供全方位的体验。

数据湖不仅在高级预测分析应用中作用巨大,而且能优化常规企业报表生成,尤其是在涉及不同数据格式时。

现在的问题已不再是是否需要数据湖,而是选择何种解决方案以及如何实施。立即下载使用 Talend Big Data Integration

 

| Last Updated: January 23rd, 2019

Most Downloaded Resources

Browse our most popular resources - You can never just have one.