• 数据湖


    论数据湖及应用

     在万物互联的时代,随着用户、设备、应用的日渐增多,将产生的数据量也越来越大。数据的海量与多元化决定了从数据中获取有用的价值变得越来越困难,如果无法从数据中获得益处,那么数据价值就无从谈起。无论是数据仓库,还是数据湖,其所要解决的问题离不开数据的存储、调用、处理、分析、应用等。而随着需求侧的发展变化,数据湖与数据仓库被寄予了更高的期待:如何完成内部的统一,从而满足数据访问使用的灵活性与高性能并举。本文以对数据湖技术为基础,对其应用与挑战等多个方面进行分析。

    关键词数据湖;应用;挑战

     

    0 引言

    在互联网和大数据的背景下,大量信息化发展和电子设备产品普及,用户、设备、应用所产生的数据以指数形式上升。传统的关系型数据库和非关系型数据库难以灵活应对海量多变的数据。大量的照片、视频、文档等非结构化数据,人们也想利用类似数据仓库等大数据技术找到这些数据的关系。因此,数据湖的概念也应之产生。

    1 数据湖与数据仓库的区别
      1.1数据湖

    数据湖(Data Lake)是一个以原始格式存储数据的存储库或系统,它按原样存储数据,而无需事先对数据进行结构化处理。一个数据湖可以存储结构化数据(如关系型数据库中的表),半结构化数据(如CSV、日志、XML、JSON),非结构化数据(如电子邮件、文档、PDF)和二进制数据(如图形、音频、视频)。

    数据湖是一个存储库,它允许存储大量的原始数据,也就是说,没有按照特定的模式进行准备、处理或操作的数据。随着大数据技术的融合发展,数据湖不断演变,汇集了各种技术,包括数据仓库、实时和高速数据流技术、数据挖掘、深度学习、分布式存储和其他技术,如图1。逐渐发展成为一个可以存储所有结构化和非结构化任意规模数据,并可以运行不同类型的大数据工具,对数据进行大数据处理、实时分析和机器学习等操作的统一数据管理平台。

    1

     

      1.2数据仓库

    数据仓库,英文名称为Data Warehouse,可简写为DWDWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。决策支持系统和联机分析应用数据源的结构化数据环境。数据仓库研究和解决从数据库中获取信息的问题。其特征在于面向主题、集成性、稳定性和时变性。

    数据仓库存储经过全面处理的结构化数据,以便完成数据治理流程。数据仓库将数据组合为一种聚合、摘要形式,以在企业范围内使用,并在执行数据写入操作时写入元数据和模式定义。数据仓库通常拥有固定的配置;它们是高度结构化的,因此不太灵活和敏捷。数据仓库成本与在存储前处理所有数据相关,而且大容量存储的费用相对较高。

    1.3比较

    相较而言,数据湖是较新的技术,拥有不断演变的架构。数据湖存储任何形式,包括结构化和非结构化,和任何格式的原始数据。根据定义,数据湖不会接受数据治理,但专家们都认为良好的数据管理对预防数据湖转变为数据沼泽不可或缺。数据湖在数据读取期间创建模式。与数据仓库相比,数据湖缺乏结构性,而且更灵活;它们还提供了更高的敏捷性。在检索数据之前无需执行任何处理,而且与数据仓库相比,数据湖特意使用了便宜的存储。

    数仓中保存的都是结构化处理后的数据,来自事务系统、运营数据库和业务线应用程序的关系数据。而数据湖中可以保存原始数据也可以保存结构化处理后的非关系和关系数据数据,保证用户能获取到各个阶段的数据,如图2。数据湖能够支持各种用户使用,包括数据科学家这类专业的数据人员。以便进行机器学习、预测分析、数据发现和分析。

    传统数仓的工作方式是集中式的,业务人员给需求到数据团队,数据团队根据要求加工、开发成维度表,供业务团队通过BI报表工具查询。而数据湖是开放、自助式的开放数据给所有人使用,以便进行机器学习、预测分析、数据发现和分析。

     

    2

     

    2 数据湖的发展与挑战

    数据湖最早是2011年由Pentaho的首席技术官James Dixon提出的一个概念,他认为诸如数据集市,数据仓库由于其有序性的特点,势必会带来数据孤岛效应,而数据湖可以由于其开放性的特点可以解决数据孤岛问题。

    在传统架构中,原始数据统一存放在Hadoop分布式文件系统HDFS系统上,引擎以Hadoop和Spark 为主,受到开源软件本身能力的限制,传统技术无法满足企业用户在数据规模、存储成本、查询性能以及弹性计算架构升级等方面的需求。如果这些多元的数据无法被其它应用所使用,那么这一过程不可避免地会形成数据孤岛,以至于无法满足数据量迅速增长的需求。

    但是,在互联网时代,各种各样的视频、移动终端信息形成大规模的海量数据,用户来不及整理和使用。就有这么一种概念诞生了,假设有那么一片洼地,没有河道,所有数据先蓄积到里面,然后通过有效的工具进行查询和处理,湖水天然会进行分层,满足不同的生态系统要求,这与企业建设统一数据中心,存放管理数据的需求是一致的。热数据在上层方便流通应用,温数据、冷数据位于数据中心的不同存储介质之中,达到数据存储容量与成本的平衡,这便是数据湖。

    在发展的过程中遇到很多的挑战。首先,把所有原始数据都存储下来的想法,要基于一个前提,就是存储成本很低。而今数据产生的速度越来越快、产生的量越来越大的情况下,把所有原始数据,不分价值大小,都存储下来,这个成本是巨大的。其次,数据湖中存放这各类最原始的明细数据,包括交易数据、用户数据等敏感数据,这些数据的安全和用户访问的权限如何保障控制是尤其重要的。

    缺少类似HADOOP等一系列具有可操作性的工具和生态为支撑。当越来越多的数据接入到数据湖中,但是却没有有效的方法跟踪这些数据。各种各样的新数据接入进数据湖中,它们的组织形式、质量都不一样。由于缺乏用于检查,清理和重组数据的自助服务工具,使得这些数据很难创造价值。由于缺乏好用的自助分析和建模工具,直接对数据湖中的数据分析很困难。多个团队如何共享数据成果,避免重复开发也是个难题。

     

    3 数据湖的优势和应用

    数据湖能轻松地收集和摄入数据。企业中的所有数据源都可以送入数据湖中。因此,数据湖成为了存储在企业内部服务器或云服务器中的结构化和非结构化数据的无缝访问点。通过数据分析工具可以轻松地获得整个无孤岛的数据集合,消除了数据孤岛问题。此外,数据湖可以用多种文件格式存储多种格式的数据,比如文本、音频、视频和图像。这种灵活性简化了旧有数据存储的集成。

    数据湖支持对实时和高速数据流执行 ETL 功能,这有助于将来自 IoT 设备的传感器数据与其他数据源一起融合到数据湖中。并且能更快地准备数据,分析师和数据科学家不需要花时间直接访问多个来源,可以更轻松地搜索、查找和访问数据,这加速了数据准备和重用流程。数据湖还会跟踪和确认数据血统,这有助于确保数据值得信任,还会快速生成可用于数据驱动的决策的 BI。

    数据湖还就有良好的可扩展性和敏捷性。数据湖可以利用分布式文件系统来存储数据,因此具有很高的扩展能力。开源技术的使用还降低了存储成本。数据湖的结构没那么严格,因此天生具有更高的灵活性,从而提高了敏捷性。数据科学家可以在数据湖内创建沙箱来开发和测试新的分析模型。

    访问原始数据,创建沙箱的能力,以及重新配置的灵活性,这些使得数据湖成为了一个快速开发和使用高级分析模型的强大平台。数据湖非常适合使用机器学习和深度学习来执行各种任务,比如数据挖掘和数据分析,以及提取非结构化数据。

    4 结语

    随着数据湖技术的不断发展,湖仓一体概念也随之而生,把面向企业的数据仓库技术与数据湖存储技术相结合,为企业提供一个统一的、可共享的数据底座。避免传统的数据湖、数据仓库之间的数据移动,将原始数据、加工清洗数据、模型化数据,共同存储于一体化的“湖仓”中,把数据湖和数据仓库的能力充分结合,形成互补,同时对接上层多样化的计算生态。数据湖的生态在不断的发展,相信在不久后就会有一套成熟的体系以供开发。希望本文对数据湖技术及其应用的分析能对读者有所启发。


  • 相关阅读:
    0001_two_sum
    shell 命令
    先验概率,后验概率,似然函数,最大似然估计【待整理】
    numpy学习笔记
    python: __slots__ 解析 (待整理)
    ubuntu,win7双系统问题
    安装sogou输入法
    pytorch安装
    稀疏向量的一些内容
    extern c
  • 原文地址:https://www.cnblogs.com/zhukaile/p/15962499.html
Copyright © 2020-2023  润新知