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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS SQL Server,基础系列 2核4GB
简介: 快速构建轻量级云原生数据湖服务(一)

开发者学习笔记【阿里云云数据库助理工程师(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图形化工具创建数据库表。
相关文章
|
14天前
|
人工智能 缓存 异构计算
云原生AI加速生成式人工智能应用的部署构建
本文探讨了云原生技术背景下,尤其是Kubernetes和容器技术的发展,对模型推理服务带来的挑战与优化策略。文中详细介绍了Knative的弹性扩展机制,包括HPA和CronHPA,以及针对传统弹性扩展“滞后”问题提出的AHPA(高级弹性预测)。此外,文章重点介绍了Fluid项目,它通过分布式缓存优化了模型加载的I/O操作,显著缩短了推理服务的冷启动时间,特别是在处理大规模并发请求时表现出色。通过实际案例,展示了Fluid在vLLM和Qwen模型推理中的应用效果,证明了其在提高模型推理效率和响应速度方面的优势。
云原生AI加速生成式人工智能应用的部署构建
|
14天前
|
供应链 安全 Cloud Native
阿里云容器服务助力企业构建云原生软件供应链安全
本文基于2024云栖大会演讲,探讨了软件供应链攻击的快速增长趋势及对企业安全的挑战。文中介绍了如何利用阿里云容器服务ACK、ACR和ASM构建云原生软件供应链安全,涵盖容器镜像的可信生产、管理和分发,以及服务网格ASM实现应用无感的零信任安全,确保企业在软件开发和部署过程中的安全性。
|
8天前
|
Cloud Native
邀您参加云原生高可用技术沙龙丨云上高可用体系构建:从理论到实践
云原生高可用技术专场,邀您从理论到实践一起交流,探索云上高可用体系构建!
|
19天前
|
Cloud Native JavaScript Docker
云原生技术:构建现代应用的基石
在数字化转型的浪潮中,云原生技术如同一艘承载梦想的航船,引领企业驶向创新与效率的新海域。本文将深入探索云原生技术的核心价值,揭示其如何重塑软件开发、部署和运维模式,同时通过一个简易代码示例,展现云原生应用的构建过程,让读者领略到云原生技术的魅力所在。
|
1月前
|
Kubernetes Cloud Native Docker
云原生之旅:从传统架构到容器化服务的演变
随着技术的快速发展,云计算已经从简单的虚拟化服务演进到了更加灵活和高效的云原生时代。本文将带你了解云原生的概念、优势以及如何通过容器化技术实现应用的快速部署和扩展。我们将以一个简单的Python Web应用为例,展示如何利用Docker容器进行打包和部署,进而探索Kubernetes如何管理这些容器,确保服务的高可用性和弹性伸缩。
|
1月前
|
运维 Cloud Native Docker
云端漫步:构建你的第一个云原生应用
在这篇文章中,我们将一起踏上一段激动人心的旅程,探索如何从零开始构建一个云原生应用。我们将深入理解云原生的核心概念,并通过实际代码示例,学习如何利用云平台的强大功能来部署和管理应用。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的指导和启发。让我们一起开启这场云端之旅,发现云原生应用的魅力吧!
35 3
|
1月前
|
Kubernetes Cloud Native Ubuntu
庆祝 .NET 9 正式版发布与 Dapr 从 CNCF 毕业:构建高效云原生应用的最佳实践
2024年11月13日,.NET 9 正式版发布,Dapr 从 CNCF 毕业,标志着云原生技术的成熟。本文介绍如何使用 .NET 9 Aspire、Dapr 1.14.4、Kubernetes 1.31.0/Containerd 1.7.14、Ubuntu Server 24.04 LTS 和 Podman 5.3.0-rc3 构建高效、可靠的云原生应用。涵盖环境准备、应用开发、Dapr 集成、容器化和 Kubernetes 部署等内容。
57 5
|
1月前
|
Cloud Native 持续交付 云计算
云原生技术深度探索:构建现代化应用的基石####
【10月更文挑战第21天】 本文将深入探讨云原生技术的核心概念、关键技术及其在现代软件开发中的应用。我们将从容器化、微服务架构、持续集成/持续部署(CI/CD)、无服务器架构等关键方面展开,揭示这些技术如何共同作用,帮助企业实现高效、弹性且易于维护的应用部署与管理。通过实例分析,展现云原生技术在实际项目中的显著优势,为读者提供一套全面理解并应用云原生技术的指南。 ####
41 2
|
1月前
|
运维 Kubernetes Cloud Native
云原生架构:构建现代应用程序的基石####
本文将深入探讨云原生架构的核心概念、关键特征及其对现代软件开发的重要性。不同于传统的摘要概述,我们将通过一个生动的案例引入——想象一下,一家初创企业如何在短短几个月内,从零开始构建起一个能够支撑数百万用户访问量、具备高可用性与弹性伸缩能力的在线服务平台。这个过程中,云原生技术扮演了怎样的角色?它是如何帮助这家企业快速响应市场变化,同时保持系统稳定性和成本效益的?带着这些问题,让我们一起揭开云原生架构背后的神秘面纱。 ####
|
1月前
|
监控 Cloud Native 微服务
云端漫步:探索云原生应用的构建与部署
【10月更文挑战第32天】在数字时代的浪潮中,云原生技术如同一艘航船,承载着企业的梦想驶向未知的海洋。本文将带你领略云原生应用的魅力,从基础概念到实战操作,我们将一步步揭开云原生的神秘面纱,体验它如何简化开发、加速部署,并提升系统的可扩展性与可靠性。让我们一起启航,探索云原生的世界!