快速构建轻量级云原生数据湖服务(一)

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: 快速构建轻量级云原生数据湖服务(一)

开发者学习笔记【阿里云云数据库助理工程师(ACA)认证:快速构建轻量级云原生数据湖服务(一)】

课程地址https://edu.aliyun.com/course/3112080/lesson/19071

 

快速构建轻量级云原生数据湖服务(一)

 

课程目标

学习完本课程后,你将能够:

1、了解数据库的基本概念、云原生数据湖应用场景和业务价值

2、掌握阿里阿里云DLA功能特性、基本技术原理以及亮点。

3、掌握如何快速构建DLA分析服务、一键建湖,实时建湖的技能

 

内容介绍

一、 DLA简介

二、DLA分模块介绍与竞争力分析

三、DLA典型应用场景介绍

四、DLA一键建湖、实时入湖介绍

 

一、DLA简介


1.数据湖发展历程简述

图片116.png
在2009年以前是以Greenplum为典型代表的传统数据仓库在数据、数据类型、数据规模和数据交换上面临着极大的挑战


随后在2010年左右,以Hadoop体系为代表的big Data兴起,同时在Hadoop上构建传统的数据库服务成为一种趋势


但是,随着数据的快速增长,在部署架构上、权限体系上和数据接入上再次面临着巨大的挑战。比如:计算存储进行绑定,存储和计算的浪费十分严重。


随后在最近几年,在云计算的加持下,云原生数据湖开始兴起,所以在借助云计算的形态,如今实现数据库走向计算存储分离部署的架构,在存储计算上进行分离,同时存储能够达到EB级别的弹性存储。


在计算上实现丰富的计算引擎,能够实现交互式的查询,ETL的批量处理,包括机器学习。在数据记录上同样接触更深更丰富的生态构建,包括数据库的数据和日志数据和日志有数据。在权限体系上进行更严格和更丰富的设计,包括数据的共享、数据的表权限、库表权限的隔离。

 

2.DLA基本概要介绍、实时入湖介绍

(1)DLA云原生数据湖分析简述

图片117.png

云原生数据湖分析服务DLA是新一代的大数据解决方案,基于OSS快速构建低成本的数据平台,一站式提供统一元数据管理。能够支持数据库数据和日志数据高效入湖。其中,完全兼容了 Serverless Spark 和 Serverless Presto 来满足在线交互式查询流,流批量处理,包含有联邦分析等。

DLA是一个双计算引擎的产品,能够100%支持和计算Spark、Presto引擎。同时,以围绕着此计算引擎和OSS作为数据湖的存储底座,打造一个一站式的数据湖管理平台,能够支持分钟级延时的实时数据入库,包括在元数据的管理上,权限体系的管理上,产品形态上,实现了云原生的弹性能够在分钟级别弹出数百个节点。


(2)基于DLA构建数据分析平台

图片118.png

上图左侧DRA能够支持非常丰富的数据源,包括传统的关系型数据库,NoSQL大数据体系,Hadoop能够支持Presto的ORC等等数据类型。

包括以OSS为核心的数据存储或OSS上的文件,阿里云数据库,数据库备份服务,包括日志流,SLS直接投递到OSS上的文件。

同时能够支持流失事件,包括上报到卡夫卡LT事件,LT事件能够接入到数据湖的双计算引擎Spark和Presto,在双计算引擎之上,我们实现了一个DRA的formation,Data Lake Formation能够实现原数据的自动感知、自动发现,从而实现一键建湖、实时建湖和增量建湖。

在数据接入层,为了降低用户的接入成本。100%兼容了My SQL介入协议和Spark介入协议。同时在管控体系上实行了严格的安全管理和授权机制,在元数据管理上能够实现自动元数据感知,自动发现,同时能够以开放的形式,支持原数据的元数据的共享。

 在右侧能够支持丰富的调度系统,包括阿里云数据库管理服务、数据治理平台data works,在BI层面上也支持BI系统。

 

二、 DLA分模块介绍与竞争力分析


1.DLA分模块介绍

图片119.png

 DLA主要的模块是构建于阿里云的K8S和ECI容器之上,在容器之上选择是以护底格式为主的LakeHouse,从而实现增量建湖和实时建湖。在数据层之上,有一个数据缓冲模块,Cache模块,此模块使得我们能够在数据库上实现一个高性价比,在性能上能够实现数倍到十几倍的性能提升。

计算引擎是一个双计算引擎的模式,Serverless Spark能够实现复杂的批处理和机器学习,在Serverless Presto上,完全通过一个纯SQL的形式来实现基于数据湖进行在线交互式查询。同时在元数据的构建上,内嵌和封装了Data Lake Formation,从而实现元数据的自动发现和元数据的对外服务。


(1)DLA数据湖存储-OSS

图片120.png支持万亿级文件数目,无文件数量限制

支持EB级别的海量存储规模,无容量扩容难题

RESTFul协议,无平台限制,支持直接互联网访问,消除数据通道对接限制

分布式系统架构,高可靠、高可用、多种数据冗余能力可选

具有完善的安全访问控制

多种存储类型选择,提供更多成本优化空间

数据湖DLA只是一个数据符的计算引擎层,数据湖上面主要的存储层则以OSS为核心构建的。OSS能够支持万亿级别的文件数量,文件数量是无上限,同时,它也能够支持EB级别的海量存储规模,所以不存在数据湖上有容量规模的问题。它使用接入协议同样丰富,也是一个分布式的架构,在高可靠和高可用上,能力非常强。在安全管理上丰富多样,并且能够做到非常完善的安全访问控制。在存储类型上,能够支持多种存储类型,特别是数据弧,非数据弧上面护底的格式Bucket ORC,也包括我们一些传统的CV格式等等。


(2) DLA元数据:开放访问、兼容HiveMeta协议

图片121.png

元数据模块是一个内嵌的、开放访问的、兼容HiveMeta协议的模块。它以多租户形式对外进行服务的同时,能够实现库级、表级和列级的权限管理和控制,在针对大表进行分区管理同时能够感知来自OSS、包括阿里云日志服务,并投递到OSS上的数据能够自动感知,自动维护,当有一个新文件出现时,它能够自动去感知这个文件的生成,并去维护和更新自己的元数据,同时也支持表格存储OTS,各种数据库的元数据的更新。同时,也能通过OpenAPI的方式把自己的元数据进行开放,让用户能够自己去查询、感知和使用。


(3)DLA LakeHous:数据库据流、日志流快速入湖

图片122.png

DLA LakeHous 解决了传统数据湖的难题,传统的数据湖数据只能通过批量入库,而且是高延迟的入库方式,并且湖里的数据更新DLA LakeHous的出现,使得我们将数据入库的延迟从天级别缩短至分钟级别。


同时,它主要是以护底格式为核心来构建出来的,它分为copy on right的table和MOG on rid的table,从而实现增量的入湖和实时的入湖。并且它能支持数据库的数据update delete的小文件自动合并,lakeHouse也是数据湖最近几年发展的主要方向。


(4)DLA弹性Spark:Job力度弹性、优化版本的Spark

图片123.png

DLA产品区别于其他数据库解决方案的一个最大的亮点是它的弹性能力。

上图右侧是在用户的实际使用场景里,DLA对计算资源的消耗不是一成不变的,在不同的时间点,对计算资源的需求是完全不一样的,假如提供一个高度弹性,高度按需,高度按需弹性出来的数据湖的一种产品形态,则能够比客户自荐的Spark,或者区别于其他数据湖分析的方案,有一个比较强大的成本优势,所以DLA Spark job级别的弹性,从而能够比自建的Spark节约50%的成本。所以它是一个快速、按需、弹性的一种产品形态。


(5)DLA弹性Presto:在线交互式查询、优化版本的Presto

图片124.png

Presto是构建在弹性产品形态之内的,首先阿里巴巴以DLA为代表是Presto基金会的成员,一同参与下一代Presto开发。

第二,Presto在大数据在线交互式查询运擎上,是一个具有话语权的计算引擎。在DLA里,它能够实现租户级别的隔离,将大跨类和其他小跨类的资源增强,从而做到资源隔离与管理。

因为Presto是面向在线交互式查询,所以在数据库解决方案里,交互式查询往往需要依赖于数据的cache。所以在Presto计算引擎下,空间数据湖里有一个catch加速层,通过它,则能够实现至少十倍的性能提升。

DLA Presto也是一个分时弹性的形态,能够根据客户按需来提供按需的计算资源,从而提升更强大的性价比。


(6)生态工具:高度兼容、丰富生态工具

图片125.png

 DLA的接入层能够实现能够MySQL的访问协议,从而能够让客户通过SQL的形式来实行交互式的分析。

所以在DLA Presto引擎下,我们能够支持丰富的生态工具,比如Table等,包括我们的调度系统;比如,阿里云的Dataworks、DMS,包括社区的呃,Airflow等等,在DLA Spark形态下,则可以做到100%兼容Spark。

同时能够通OpenApi方式,或者RESTFUL方式,来提交各种教辅作业,在任务调度上,也支持Dataworks、DMS、Airflow等等。


(7)DLA Spark性能数据介绍

图片126.png

上图,以TeraSort 10TB的数据做性能对比,在对比自建Spark和通过DLA Spark两种方式对比下。在10TB的性能下,我们采用计算引擎对齐资源规格对齐,在这种对齐下,图右侧是性能和价格的对比,我们可观察到利用DLA Serverless Spark,在spak上面的内核优化上,实现性能100%的提升,同时,在成本上,做到50%的成本优化。


(8)DLA SQL(Presto)性能数据介绍

 图片127.png

DLA Presto面向的是交互式查询,所以在交互式查询上,我们在DLA里内置的一个catch,通过catch层,看到包括我们对Presto的内核优化。以1TB数据量的TBCH场景,在OSS中使用ORC的模式,在TBCH下可以看到通过优化,能够实现至少两倍,性能提升。

相关实践学习
MySQL基础-学生管理系统数据库设计
本场景介绍如何使用DMS工具连接RDS,并使用DMS图形化工具创建数据库表。
相关文章
|
25天前
|
人工智能 缓存 异构计算
云原生AI加速生成式人工智能应用的部署构建
本文探讨了云原生技术背景下,尤其是Kubernetes和容器技术的发展,对模型推理服务带来的挑战与优化策略。文中详细介绍了Knative的弹性扩展机制,包括HPA和CronHPA,以及针对传统弹性扩展“滞后”问题提出的AHPA(高级弹性预测)。此外,文章重点介绍了Fluid项目,它通过分布式缓存优化了模型加载的I/O操作,显著缩短了推理服务的冷启动时间,特别是在处理大规模并发请求时表现出色。通过实际案例,展示了Fluid在vLLM和Qwen模型推理中的应用效果,证明了其在提高模型推理效率和响应速度方面的优势。
云原生AI加速生成式人工智能应用的部署构建
|
5天前
|
人工智能 Cloud Native 大数据
DataWorks深度技术解读:构建开放的云原生数据开发平台
Dateworks是一款阿里云推出的云原生数据处理产品,旨在解决数据治理和数仓管理中的挑战。它强调数据的准确性与一致性,确保商业决策的有效性。然而,严格的治理模式限制了开发者的灵活性,尤其是在面对多模态数据和AI应用时。为应对这些挑战,Dateworks进行了重大革新,包括云原生化、开放性增强及面向开发者的改进。通过Kubernetes作为资源底座,Dateworks实现了更灵活的任务调度和容器化支持,连接更多云产品,并提供开源Flowspec和Open API,提升用户体验。
|
19天前
|
Cloud Native
邀您参加云原生高可用技术沙龙丨云上高可用体系构建:从理论到实践
云原生高可用技术专场,邀您从理论到实践一起交流,探索云上高可用体系构建!
|
25天前
|
供应链 安全 Cloud Native
阿里云容器服务助力企业构建云原生软件供应链安全
本文基于2024云栖大会演讲,探讨了软件供应链攻击的快速增长趋势及对企业安全的挑战。文中介绍了如何利用阿里云容器服务ACK、ACR和ASM构建云原生软件供应链安全,涵盖容器镜像的可信生产、管理和分发,以及服务网格ASM实现应用无感的零信任安全,确保企业在软件开发和部署过程中的安全性。
|
30天前
|
Cloud Native JavaScript Docker
云原生技术:构建现代应用的基石
在数字化转型的浪潮中,云原生技术如同一艘承载梦想的航船,引领企业驶向创新与效率的新海域。本文将深入探索云原生技术的核心价值,揭示其如何重塑软件开发、部署和运维模式,同时通过一个简易代码示例,展现云原生应用的构建过程,让读者领略到云原生技术的魅力所在。
|
5天前
|
运维 监控 Cloud Native
云原生之运维监控实践:使用 taosKeeper 与 TDinsight 实现对 时序数据库TDengine 服务的监测告警
在数字化转型的过程中,监控与告警功能的优化对保障系统的稳定运行至关重要。本篇文章是“2024,我想和 TDengine 谈谈”征文活动的三等奖作品之一,详细介绍了如何利用 TDengine、taosKeeper 和 TDinsight 实现对 TDengine 服务的状态监控与告警功能。作者通过容器化安装 TDengine 和 Grafana,演示了如何配置 Grafana 数据源、导入 TDinsight 仪表板、以及如何设置告警规则和通知策略。欢迎大家阅读。
22 0
|
2月前
|
Kubernetes Cloud Native Docker
云原生之旅:从传统架构到容器化服务的演变
随着技术的快速发展,云计算已经从简单的虚拟化服务演进到了更加灵活和高效的云原生时代。本文将带你了解云原生的概念、优势以及如何通过容器化技术实现应用的快速部署和扩展。我们将以一个简单的Python Web应用为例,展示如何利用Docker容器进行打包和部署,进而探索Kubernetes如何管理这些容器,确保服务的高可用性和弹性伸缩。
|
2月前
|
运维 Cloud Native Docker
云端漫步:构建你的第一个云原生应用
在这篇文章中,我们将一起踏上一段激动人心的旅程,探索如何从零开始构建一个云原生应用。我们将深入理解云原生的核心概念,并通过实际代码示例,学习如何利用云平台的强大功能来部署和管理应用。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的指导和启发。让我们一起开启这场云端之旅,发现云原生应用的魅力吧!
40 3
|
8月前
|
存储 SQL 分布式计算
基于Apache Hudi + MinIO 构建流式数据湖
基于Apache Hudi + MinIO 构建流式数据湖
283 1
|
6天前
|
存储 SQL 大数据
从数据存储到分析:构建高效开源数据湖仓解决方案
今年开源大数据迈向湖仓一体(Lake House)时代,重点介绍Open Lake解决方案。该方案基于云原生架构,兼容开源生态,提供开箱即用的数据湖仓产品。其核心优势在于统一数据管理和存储,支持实时与批处理分析,打破多计算产品的数据壁垒。通过阿里云的Data Lake Formation和Apache Paimon等技术,用户可高效搭建、管理并分析大规模数据,实现BI和AI融合,满足多样化数据分析需求。