服务热线:13121395187

  • 优惠活动
  • 云技术
    • 云服务器运维
    • 云数据库技术
    • 云存储技术
    • 云安全服务
    • 云网络服务
    • 木马病毒查杀
    • 渗透测试服务
    • 服务器迁移服务
    • 高并发业务保障服务
    • 数据库运维/专家服务
  • 云慧采
    • 云服务器
    • 云数据库
    • 云存储
    • 云安全
    • 网络与CDN
    • 视频服务
    • 大数据
    • 物联网
    • 人工智能
    • 开发与运维
    • 企业应用
  • 云代理
    • 阿里云
    • 华为云
    • 腾讯云
  • 客户案例
  • 优惠活动
  • 云技术
    • 云服务器运维
    • 云数据库技术
    • 云存储技术
    • 云安全服务
    • 云网络服务
    • 木马病毒查杀
    • 渗透测试服务
    • 服务器迁移服务
    • 高并发业务保障服务
    • 数据库运维/专家服务
  • 云慧采
    • 云服务器
    • 云数据库
    • 云存储
    • 云安全
    • 网络与CDN
    • 视频服务
    • 大数据
    • 物联网
    • 人工智能
    • 开发与运维
    • 企业应用
  • 云代理
    • 阿里云
    • 华为云
    • 腾讯云
  • 客户案例

云原生数据湖架构与技术分析

本文对什么是数据湖、数据湖架构与技术及阿里云云原生数据湖实践进行详细介绍。

一、数据湖介绍

(一)什么是数据湖?

数字化趋势下,许多企业通过利用数据的价值达到业务上的提升,数据量爆炸性增长使得源头越来越丰富,例如数据库数据、APP日志、服务器日志、LT数据。

在这种背景下,需要更好的数据架构支撑,且能够更灵活的支撑上层各种各样场景的分析,与数据库相关的有:

HDFS/OSS/S3数据存储类组件;

阿里云OSS对象存储;

Delta Lake数据库格式;

Hudi/Iceberg数据库组件;

湖仓一体的DataWarehouse/LakeHouse。

什么是数据湖?

如下图所示:

云原生数据湖架构与技术分析

中间是存储,底层数据通过实时或离线的方式进入数据库中,上层在数据库中做分析或学习,这是比较简单的Pipeline。

阿里云数据湖云上流程如下图所示:

云原生数据湖架构与技术分析

数据的流入有许多产品支持,主要围绕OSS对象存储。数据流入后,支持数据分析和服务,包括对流入的数据做数据治理、安全权限。

云原生数据湖架构与技术分析

上图为Delta Lake网站上数据湖的一种场景。

通过流式或者批式的方式导入到数据湖上,数据湖底层的存储如HDFS、S3、Azure Data Lake Storage对象存储,上层是数据库格式,提供更丰富的场景支撑能力。

云原生数据湖架构与技术分析

上图为另外一个数据库格式下,Hudi网站上一个Pipeline图。它有很多数据源,通过Hudi的工具,将数据写到Hudi格式里面。 Hudi格式底层是一些分布式存储或者对象存储,还有Alluxio加速。

目前数据湖的定义存在些许差别。

如Wikipedia对数据湖的定义是原始数据的存储,支持后续分析和学习,存储结构化数据和非结构化数据,可以构建在线下的机房里面,也可以在云上构建数据库。

AWS对数据湖的定义是一个中心化的存储,存储结构化数据和非结构化数据,可以做各种各样的分析。

微软对数据湖的定义是提供许多相关的产品与工具,让开发者或者数据科学家能够存储各种各样的数据类型,提供各种各样分析的能力或平台。

概括来说,数据湖是:

·一个中心化的存储,接入不同数据源,可以存储半结构化、结构化和非结构化的数据。

·存储偏原始的数据,可以支撑上层各种各样的分析。

Keywords:

·Centralized repository;

·Streaming&batch ingest;

·Semi-structured/unstructured/structured;

·Data as-is/raw data;

·Support different types of analytics.

云原生数据湖架构与技术分析

数据湖偏原始的数据,数据入库的时候不需要做建模,数据仓库需要提前做各种建模,管理与定义Schema,然后数据才能进来。数据湖是数据先进来,分析的时候抓取Schema,再去做分析。数据仓库是结构化的数据。

数据湖类型比较丰富,是开放的存储。上层可以对接分析引擎,例如可以机器学习、查询,或者在数据湖基础上构建一个数仓。数据湖较为开放、灵活。对比之下,数据仓库较为封闭。存储与引擎为一体,存储在引擎下面,做优化时需要结合引擎。

数据仓库导入过程会对文件做优化或索引,对数据质量由Schema保证,上层的数据治理权限较为完善。数据湖灵活、开放,但在数据治理、安全上有隐患,导入时可能存在小文件的问题。

现在数据仓库向湖仓一体方向发展,结合数据湖的灵活性和开放性,以及数据仓库的数据治理与安全,导入的数据质量,整套的体系较为完善。

数据湖体系里面,各自有不同的位置,HDFS/OSS/S3是数据湖存储,Delta Lake/Hudi/Iceberg是数据库格式,DataWarehouse/LakeHouse数据湖上层应用场景。

(二)为什么要用数据湖?

企业做数字化转型,需要从不同的角度与地点采集数据,将爆炸性增长的数据挖掘与利用。

云原生数据湖架构与技术分析

数据源和数据类型越来越多,如LT相关的数据,业务数据库相关的数据等。数据湖暂时无规划的数据,等有需要的时候再将数据做分析处理,导入到数据仓里做后续查询。数据湖有非常灵活的特性,能够支撑上层分析场景,丰富的数据可以用于支持后续的分析与架构。

(三)数据湖问题与挑战

根据公开媒体报道,数据湖建设失败的案例不在少数。

云原生数据湖架构与技术分析

不经考虑、未加管理、毫无条理的数据存储不能给数据分析带来任何帮助,如果缺少必要的数据管理、元数据获取、质量管理、安全管理能力和过程,或是未能正确围绕一个业务中心正确开展,数据湖终将变成无用的数据沼泽。

云原生数据湖架构与技术分析

基于上图的结构,分析数据湖在实践中会遇到哪些问题:

Ø  数据摄入(入湖)

·数据源太多,入湖开发成本高;

·数据质量无法保障(脏数据、重复数据、Schema缺少……);

·要求实时入湖做分析时,中间数据可能分出现问题。

Ø  数据存储

·数据量增长,需要考虑成本、扩展性、性能的问题。

Ø  数据管理分析

·缺乏元数据管理、发现,分析困难;

·性能与安全上没有保障。

二、数据湖架构与技术探索

(一)数据库架构

云原生数据湖架构与技术分析

如上图所示,数据库架构Pipeline分为很多层。

原始是数据源,其次是摄入层,指数据入湖包括实时与成批的导入。第三层是存储层,支撑后续不同场景的计算。接着是应用层,横向向后是数据治理,包括运维的数据质量等。在这个架构下,能够更好的挖掘数据库的数据价值,并发挥出其价值。

(二)数据摄⼊/⼊湖

云原生数据湖架构与技术分析

数据摄入(入湖)需要解决的问题,总结如下:

Ø  数据源很多,同步/ETL开发成本;

Ø  如何避免数据沼泽,提高数据质量/可用性;

Ø  提供数据更新订正能力,Schema演化;

Ø  如何保证链路上的Exactly Once;

Ø  实时入湖读写如何隔离,防止脏读。

如何去解决数据摄⼊(⼊湖)的问题,下面以某个产品为例:

云原生数据湖架构与技术分析

对于解决数据源很多,同步/ETL开发成本的问题,整体上通过拖拽或者配置的方式,拖拽数据源进行配置,构建Pipeline。或者通过常用数据源/ETL算子进行配置的方式构建Pipeline。定义ETL算子在相关场景下是可以复用的,通过数据源把它抽象到产品中。对于典型的实时数仓(数据库Binlog同步),链路上还是有很多工作。

数据摄入/入湖还需要解决以下几个问题:

1)避免数据沼泽,提高数据质量/可用性;

2)提供数据更新订正能力, Schema演化;

3)如何保证链路上的Exactly Once;

4)实时⼊湖读写如何隔离,防止脏读。

数据湖整体功能趋向统一,如DELTA LAKE提供数据更新订正能⼒,Scheme演化能力。但是它们各有所长,如Hudi比较擅长的Upset场景,ICEBERG偏向于索引与性能。

DELTA LAKE如何解决Update&Delete&Merge等相关问题?

如下图所示:

云原生数据湖架构与技术分析

底层数据是Parquet格式,可以管理源数据,中间是MetadataManagement,上面支持Transactions。

基于这三层,数据可以通过Streaming实时写入Delta Lake,后续可以用Presto或者Spark实时查询。

这种方式有隔离的特性支撑,相当于有Update&Delete&Merge、演化Schema和查询 Time Travel历史上某个时间点数据的能力。

(三)数据湖存储

数据量很大时需要考虑成本(包括运维成本)、扩展、性能,选择不同的存储方式有不同的特点。

HDFS

1)集群规模瓶颈;

2)NameNode压力;

3)规划集群复杂;

4)运维难度大;

5)成本高;

6)性能高。

对象存储OSS/Amazon S3

1)按需计费,无限扩容;

2)存算分离,规划简单;

3)运维简单;

4)性能需优化(带宽/元数据操作)。

(四)数据湖分析

数据湖如何支撑上层的多场景多引擎高性能挖掘数据价值。

总结如下:

Ø  统一元数据管理/发现;

Ø  引擎深度优化;

Ø  多种接口多语言访问支持(posix/filesystem/c++/java/…);

Ø  企业级安全(认证/权限/…)。

云原生数据湖架构与技术分析

三、阿里云云原生数据湖实践

云原生数据湖架构与技术分析

如上图所示,阿里云云原生数据湖架构由多个部分组成。

首先数据源里有日志数据、数据库数据。数据源通过数据库构建产品,管理数据库的语言数据、访问控制、表或列的权限等,提供入湖解决方案,包括数据湖元数据、访问控制、入湖工具,构建入湖的Pipeline。

数据湖存储是围绕对象存储OSS,支持Delta Lake、Hudi、Iceberg等数据库格式,能够解决数据标准、低频、归档等数据湖上面的问题。

在这个基础上,为了支撑上层的引擎分析、数据挖掘,提供了JindoFS。JindoFS是能够把大数据体系结合起来的中间层。能够封装的标准的API,使上层的Spark、Presto能够对接上OSS数据。

再往上是云原生计算引擎,如EMS基本上都是开源的组件。最上层为数据开发治理,用户做数据开发治理的平台。

(五)数据湖构建/DLF

数据库构建(DLF)主要功能是横向的基础设施,解决数据库的管理。

功能包括:

Ø  数据入湖

支持多种数据源一键入湖模板;

支持Delta/Hudi/Parqute等格式;

支持实时入湖(CDC\KAFKA\SLS\…)。

Ø  元数据服务

兼容开源生态API;

自动爬取Schema;

多引擎对接(Spark/Hive/MC/Holo/…)。

Ø  权限管理

支持表/列权限控制;

支持OSS权限托管。

下面是数据入湖内核上做的工作。

云原生数据湖架构与技术分析

从架构来看,底层是Delta Lake、OSS、Hudi、HDFS,上面是Spark、Presto等引擎。对Delta/Hudi做了性能优化和功能的增强,如自动的小文件合并,SparkSQL和Spark Streaming SQL深度集成,让用户能够用SQL的方式写Pipeline,降低开发门槛,查询引擎优化,OSS Rename原子性。

云原生数据湖架构与技术分析

如上图所示,Spark Streaming SQL是官方文档,可以像写离线SQL那样去写流失的作业的这种SQL,功能包括动态分区表等。

(六)数据湖存储/JindoFS

JindoFS是在OSS和引擎之间把大数据串起来的一个组件,它同时做了性能优化。

阿里云OSS SDK 是对象存储接口,本身并不能直接用于 Hadoop/Spark

• 类似于 AWS 的 EMRFS,Hadoop 社区的 S3A FS

• 对 OSS 访问支持 RAM/AK 免密,支持 Credentials Provider

• 和 Hadoop 社区版本相比:

o 核⼼代码Native 优化,各种基本操作大幅性能提升(> 60%)

o 大目录Listing操作,快1X

o 大目录Rename操作,快3X

o 支持无需Rename的Job Committer

• 提供Cache模式/Block模式

• 提供 POSIX/FUSE 支持

• 提供 TensorFlow FileSystem Connector

• 提供 Python SDK

• 在大文件/小文件训练数据测试上,具有显著性能优势

• 支持多种选项:默认无缓存、元数据缓存和数据缓存

• 针对训练材料Batch大文件和大量小文件分别优化

• 支持命令式预加载、周期性自动加载到缓存,加速后续训练

• 支持转储加载结构化半结构化数据到缓存,加速后续训练

云原生数据湖架构与技术分析

(七)数据湖分析

数据湖分析主要是DLF统一元数据/权限,做中间横向的基础设施,打通数据库的数据与上层引擎。

云原生数据湖架构与技术分析

Tags:数据湖

以上内容对您有帮助吗?如有问题,可联系在线工程师为您提供技术支持

Yes  No
相关内容
  • OceanBase3.0_HTAP数据库介绍及案例
  • 用友NC Cloud全面集成阿里云PolarDB数据库
  • 时序数据库_阿里云时序数据库和开源时序数据库介绍
  • 云数据库2.0_全链路的数据管理与服务平台
  • PolarDB新增数据库慢SQL自动优化改写功能
  • PolarDB架构及数据库代理介绍
产品
  • 云服务大礼包 ¥9,999.00 ¥99.00
  • SSL证书5折起(DV,OV,EV,多域名,通配符,免费SSL证书安装配置) ¥2.00 ¥1.00
  • 漏洞扫描服务 ¥0.00 – ¥1,000.00
  • 阿里云云安全中心(服务器安全防护漏洞自动修复木马病毒查杀) ¥270.00 – ¥1,148.00
  • 阿里云web应用防火墙(WAF)防CC防SQL注入防网页篡改木马后门 ¥149.00 – ¥227,920.00
云数据库技术
  • 云原生数据湖架构与技术分析
  • OceanBase3.0_HTAP数据库介绍及案例
  • 用友NC Cloud全面集成阿里云PolarDB数据库
  • 时序数据库_阿里云时序数据库和开源时序数据库介绍
  • 云数据库2.0_全链路的数据管理与服务平台
  • PolarDB新增数据库慢SQL自动优化改写功能
View All 80  
热门内容
  • OceanBase3.0_HTAP数据库介绍及案例
  • 数据湖构建、分析与开发治理最佳实践及案例分享
  • 无法远程连接云数据库RDS或云服务器ECS的原因之一
  • 一卡通系统_智慧园区方案
  • 钉钉宜搭全新上线“从Excel创建应用”功能
服务分类
  • 物联网技术
  • 云服务器运维
  • 网站运维
  • 云数据库技术
  • 云存储技术
  • 云安全服务
  • 云网络服务
  • 大数据和人工智能
  • CDN与边缘计算
  • 弹性计算
  • 优惠活动
  • 云架构设计优化
  • 迁云实施服务
  • 容灾备份服务
  • 云上护航
  • Linux系统运维
  • 解决方案咨询与实施
  • 视频云技术
  • 混合云与专有云
  • 企业应用
专题
AnalyticDB CDN技术 ClickHouse数据库 Elasticsearch OceanBase PolarDB PostgreSQL数据库 SD-WAN serverless SSL证书 web应用防火墙 云堡垒机 云存储网关 云数据库MongoDB 云数据库RDSmysql 云数据库redis 云服务器 云防火墙 全局流量管理 全球加速 号码隐私保护 多模数据库Lindorm 安全加固 实人认证 容器服务 对象存储OSS 弹性伸缩 性能测试 数据仓库 数据库备份DBS 数据库审计 数据库自治服务DAS 数据湖 文件存储NAS 日志服务 服务网格 混合云存储 物联网安全 等保测评 表格存储Tablestore 运维技术 钉钉宜搭 阿里云优惠
  • 阿里云代理商
  • 腾讯云代理商
  • 华为云代理商
  • 等保测评
  • 数据库备份
  • 堡垒机
  • 阿里云邮箱
  • 华为云服务
  • APM
  • serverless
  • SD-WAN
  • PolarDB
  • 阿里云数据仓库
  • 数据湖
  • 阿里云服务器
  • 腾讯云服务器
  • 华为云服务器
  • 混合云
  • 阿里云混合云
  • SSL证书
  • CDN
  • kafka
  • OCR
  • 阿里云代理
  • 腾讯云代理
  • 华为云代理
  • CDN加速
  • 安全加固
  • 云原生技术
  • 云原生
  • © 2020 云技术|云慧采. All Rights Reserved 服务电话13121395187