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

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

开发者学习笔记【阿里云云数据库助理工程师(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图形化工具创建数据库表。
相关文章
|
24天前
|
边缘计算 Cloud Native 安全
构建灵活高效的下一代应用架构 随着企业数字化转型的加速,云原生技术正逐渐成为构建现代化应用程序的关键支柱。
随着企业数字化转型加速,云原生技术逐渐成为构建现代化应用的关键。本文探讨了云原生的核心概念(如容器化、微服务、DevOps)、主要应用场景(如金融、电商、IoT)及未来发展趋势(如无服务器计算、边缘计算、多云架构),并分析了面临的挑战,如架构复杂性和安全问题。云原生技术为企业提供了更灵活、高效的应用架构,助力数字化转型。
56 4
|
1月前
|
Cloud Native 持续交付 开发者
探索云原生技术:构建高效、灵活的应用架构
【10月更文挑战第6天】 在当今数字化浪潮中,企业面临着日益复杂的业务需求和快速变化的市场环境。为了保持竞争力,他们需要构建高效、灵活且可扩展的应用程序架构。本文将探讨云原生技术如何帮助企业实现这一目标,并分析其核心概念与优势。通过深入剖析云原生技术的各个方面,我们将揭示其在现代应用开发和部署中的重要性,并提供一些实用的建议和最佳实践。
54 2
|
1月前
|
Cloud Native 物联网 持续交付
云原生架构:构建现代应用的基石
随着数字化转型的深入,企业对软件开发的速度和灵活性提出了更高的要求。云原生架构作为一种新兴的技术范式,以其独特的优势,正在成为现代应用开发的主流选择。本文将探讨云原生架构的核心概念、关键技术以及实践应用,帮助读者理解如何利用云原生技术构建高效、可扩展的现代应用。
80 1
|
2月前
|
运维 Cloud Native 持续交付
云原生技术:构建未来应用的基石
在当今这个数字化时代,云原生技术正迅速成为推动企业创新和数字化转型的关键力量。本文将深入探讨云原生的核心概念、主要特点以及它如何改变我们构建、部署和运行应用程序的方式。通过分析Kubernetes、微服务、容器化等关键技术,本文旨在为读者提供一个关于云原生技术的全面理解,并探讨其在未来软件开发领域的重要性。
35 2
|
7天前
|
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 部署等内容。
30 5
|
1月前
|
运维 监控 Cloud Native
构建行业应用生态:云原生应用市场简化企业软件安装
在移动互联网时代,尽管手机应用市场为用户带来了极大的便利,但企业级软件的安装和管理仍面临诸多挑战,包括安装复杂、交付效率低、应用兼容性差等问题。为此,基于云原生技术的企业级应用市场Rainstore应运而生,旨在简化企业软件的安装和管理,提升交付效率,增强应用兼容性,支持远程管理和个性化定制,构建开放的行业应用生态,助力企业数字化转型。
构建行业应用生态:云原生应用市场简化企业软件安装
|
20天前
|
Cloud Native 持续交付 云计算
云原生技术深度探索:构建现代化应用的基石####
【10月更文挑战第21天】 本文将深入探讨云原生技术的核心概念、关键技术及其在现代软件开发中的应用。我们将从容器化、微服务架构、持续集成/持续部署(CI/CD)、无服务器架构等关键方面展开,揭示这些技术如何共同作用,帮助企业实现高效、弹性且易于维护的应用部署与管理。通过实例分析,展现云原生技术在实际项目中的显著优势,为读者提供一套全面理解并应用云原生技术的指南。 ####
31 2
|
1月前
|
运维 Cloud Native 持续交付
云原生技术:构建现代应用的基石
【10月更文挑战第9天】在数字化转型的浪潮中,云原生技术如同一股清流,引领着企业走向更加灵活、高效的未来。本文将深入探讨云原生的核心概念,揭示其在现代应用开发与部署中的重要作用,并通过实际案例分析,展现云原生技术如何助力企业实现敏捷开发和自动化运维,最终提升业务竞争力。
77 3
|
10天前
|
监控 Cloud Native 微服务
云端漫步:探索云原生应用的构建与部署
【10月更文挑战第32天】在数字时代的浪潮中,云原生技术如同一艘航船,承载着企业的梦想驶向未知的海洋。本文将带你领略云原生应用的魅力,从基础概念到实战操作,我们将一步步揭开云原生的神秘面纱,体验它如何简化开发、加速部署,并提升系统的可扩展性与可靠性。让我们一起启航,探索云原生的世界!
|
1月前
|
运维 Kubernetes Cloud Native
云原生技术:构建现代应用的新范式
【10月更文挑战第9天】 云原生是一种通过云计算环境优化的软件开发和运行方法论,旨在最大化利用云平台的灵活性、可扩展性和弹性。本文将深入探讨云原生技术的基本原理、核心组件以及其在实际项目中的应用。我们将从Kubernetes的容器编排机制入手,逐步探讨如何通过自动化工具实现持续集成与持续部署(CI/CD),最终展示如何构建一个高效、可靠的云原生应用。
50 2