听说你还在为海量数据构建不同数据仓库?华为云学院 DataLake了解一下!
听说你还在为海量数据构建不同数据仓库?华为云学院 DataLake了解一下!
By: FYS_CMSS 的CSDN 博客
“A data lake is a method of storing data within a system or repository, in its natural format, that facilitates the collocation of data in various schemata and structural forms, usually object blobs or files”
数据湖是在系统或者存储库中以原生格式存储数据的方法,通常使用对象块或者文件来存储各种模式和结构化的数据。目前对数据湖没有一个标准的定义,主要思想是对企业中所有数据进行统一存储,从原始数据到用于可视化、分析和机器学习等各种任务的转换数据,这些数据包括关系数据库中的结构化数据、半结构化数据(CSV、XML、JSON等)、非结构化数据(电子邮件、文件)和二进制数据(图像、音频、视频等),从而形成一个集中化数据存储系统来容纳所有形式的数据。
使用数据湖可以改变用户使用数据的方式,用户不必为海量的数据构建不同的数据库、数据仓库,通过数据湖就可以完成或者实现不同数据存储的需求。数据湖合理的存在形式是以云的方式部署到虚拟机、物理环境或者云平台上,为以云服务的方式随时按需满足对不同数据分析、处理和存储的需求。
从表面上看数据湖和数据仓库都是将所有数据进行收集、分析并将结果反馈给用户,但是从本质上是完全不同的。数据仓库的本质是通过数据的抽取、转换、加载及清洗等步骤把数据变小(ETL),为了提高查询效率对数据进行预聚合操作,数据仓库的设计目标是决策支持,用户对数据的需求有预先定义的模式。
在数据仓库中,会定期清除原始数据,只保留聚合数据。
但是大数据在具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低等特征,其获取、存储、管理与分析方面都大大超出传统数据库软件能力范围的数据聚合。这些数据可以包括结构化、半结构化和非结构化数据,其中非结构化数据占主要部分,而且大数据分析的意义在于从全量数据上,利用机器学习技术和算法进行建模,实现对数据的实时分析。使用大数据处理技术实现数据仓库的功能,这种架构下,数据存储变成和HDFS,使用SQL On Hadoop等保持SQL接口,维护前端分析引起的不变,但是Meta Data部仍然保持了原来的数据建模,没有改变数据集成方式。例如Apache Kylin对数据使用MR/Spark进行OLAP分析,并没有从根本上去除数据“仓库”的概念,但是与数据仓库相比满足了大数据处理的需求,提高廉价的存储保存大量原始数据,可以一定程度上提高数据处理的速度,但是数据湖与数据仓库的概念有很大的区别,数据仓库中的数据进入仓库前需要事先归类,以便于未来的分析,数据仓库中的数据高度结构化。但是在数据湖中,数据是直接加载达到数据湖中,然后根据分析的需要再转换数据。在数据湖中数据存储成本低、以原始的格式保存数据,并且提供灵活的、面向任务的数据绑定,不需要提前定义数据模型。
数据湖下面的几个特征:
Ø 集中的数据共享存储系统,代表性的是使用分布式文件系统(DFS),Hadoop数据湖保存原生数据,通过数据生命周期管理来感知数据的变化,这个方法对内部的使用规则和内部审计很有用。与传统仓库相比,当需要时再讲数据进行转换、聚合和更新操作,数据管理机构对数据进行监管。
Ø 具有任务调度和协作能力,例如Hadoop YARN,对计算资源具有管理能力,提供Hadoop集群的持续性任务提交、安全和数据监管工具,保证用户能够获取其需要的数据和计算资源来保证分析流程的正常执行。
Ø 提供基于数据的一系列的应用和工作流程,由于数据以原生方式保存在数据湖中,因此要提供应用保证用户能够方便的使用数据。数据拥有者能够与数据消费者、提供者和数据操作者之间相互协调,解决共享数据遇到的技术和规则问题。
了解了数据仓库与数据湖的区别,想要了解具体的数据湖服务,快来华为云学院(https://edu.huaweicloud.com/)学习体验吧!
- 点赞
- 收藏
- 关注作者
评论(0)