云原生数仓 ADB PG 产品和架构介绍视频(二)| 学习笔记

本文涉及的产品
对象存储 OSS,20GB 3个月
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
对象存储 OSS,内容安全 1000次 1年
简介: 快速学习云原生数仓 ADB PG 产品和架构介绍视频

开发者学堂课程【云原生数据仓库 AnalyticDB PostgreSQL 产品入门:云原生数仓 ADB PG 产品和架构介绍视频(二)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/1210/detail/18177


云原生数仓 ADB PG 产品和架构介绍视频


七、ADB PG 的核心能力

(1)ADB PG 执行引擎

通过介绍 ADB PG 的技术架构,模块组件、运行机制等,大家应该对 ADB PG 有了一个基本的认识。

然后接下来将去了解一下 ADB PG 的一个核心能力。首先向大家介绍一下 ADB PG 的执行引擎,ADB PG 搭载了自研的向量执行引擎,针对火山模型的缺点和现代硬件的特点,结合向量化计算,其实编译等技术专注于执行性能,特别是 olap 场景的场景的一个执行性能提升。 ADB PG 重点投入去做了一个向量化计算引擎,原生 PG 计算引擎它采用的是一个火山模型,就是说对每出来的一条数据会经过对应的算子数据计算。这样如果有一条数据对于每个算式来说,就要去执行1亿次计算子函数调用,而这一次1亿次的算子函数调用就会带来非常大的函数本身调用的开销。第二个问题是中间涉及到的一些表达式计算,这些表达式计算都会转异常对应的一个函数调用数,对于复杂的表达式就会变成复杂的一个函数函数调用数,这种调用数的每次迭代计算都会带来非常大的开销,也很可能会导致 CPU 的性能瓶颈,导致了整个计算过程非常大。这种场景对于TP场景来讲的话,因为数据量比较少,问题显现的不是很严重,对于AP 场景来说的话,对性能就有非常大的影响。

image.png

然后所以在三年前就开始了 ADB PG 的向量化计算的研发,消除了火山模型带来的一些包括碎片化的那种分配,然后采用了功能性的技术,把所有的表达式计算可以打平成一个算子函数来计算。同时在计算方面采用CPU的单指令多数据的计算,技术可以实现一条指令多数据的并行计算,对整体性能有非常大的提升。同时在整体引擎方面还采用了即时编译技术和内存管理优化,解决了高级语言抽象程度过高带来的性能开销以及重复的内容,申请和释放和碎片化的内存分配,

(2)ADB PG 存储引擎

ADB PG 存储引擎方面是基于 PG 实现的,不仅继承了 PG 存储引擎可扩可扩展,高可用事物强能力,还具备了以下几点特性。

第一点是支持多种表类型,存储引擎同时支持行存表和内存表,行程表则是用于高频数据的增仓改和点查的场景,列成表则适用于复杂的 AP 分析场景,可根据业务场景来灵活的选择表类型。

第二是知识丰富的索引类型。支持所有类型,在点长和低选择率场景采用索引可显著的提升,数据的检索性。

第三是支持数据压缩,这是多种的数据压缩算法,然后高压缩的高压缩率可显著的降低数据的重组成本,并可以通过高贷高带宽来解高带光解压缩性能来降低 iOS 时间。

第四是支持排序及粗糙级的过滤,建表的时候可以指定排序字段,数据通过排序以后,一方面可结合超级过滤降低l的数数据量,另外排序也将提升数据压缩率以及降低存储成本。

第五是支持数据分区,支持数据多几个分区,且可采用像 value 或者范围进行分区,常用的场景为按时间进行分析,然后可明显地降低 io 的数据量。同时分区支持混合存储。

第六是支持外表的 oss 存储数据可以远端的低成本的存储与 oss 上查询和写入行为与本地比较完全一致。

 image.png

(3)Analytic DB Postgre SQL 性能-优化器

接下来讲一下 cascade 的框架的生活优化器,像传统的传统的单机数据库都是采用自下而上的优化器,它的好处是说它的效率是非常快的,但是它大同时也带来了很多问题,就是很容易去陷入一些局部的查询。但是对于 oled 场景,它的 circle 可能是非常复杂的,像有些项目一个 circle 可能就上造了,这种场景下如果遇到一个差的图形计划,可能就会带来灾难性的一个后果。所以 ADB PG 升级采用了 cascade 的框架的优化器,它的基本策略是这样的,说它是采用自己向下的一个方式,这种方式有一个好处就是不容易去陷入一个局部的最优解,可以非常容易的去找到全局的一个最优解,这样的话就可以保证用户无论写入什么样的复杂查询,我们都可以得到一个非常优质的执行计划,这样就可以大幅度的降低用户的使用难度,避免了由于一些复杂查询最新计划差,导致的一个系统资系统资源不足的一个问题。

同时在 cascade 的框架优化器的基础上,也增加了一些功能,就是说用户可以自定义一些规则,通过这些规则,可以进一步减少整个执行计划的搜索空间,既可以提升优化器的效率,也可以更容易的得到一个最优的执行计划。

image.png


八、Analytic DB Postgre SQL 成本

讲完优化器,我们看一下 ADB PG 在成本方面都是哪些特性, App 采用的计算节点,本机重组的模式,就是行存月存、非遗式存储、固态硬盘、机械硬盘等多种存储介质。在此基础上,ADB 还提供了重组压缩的能力,oss 的外表存储能力,而共享存储格式,存储分层等能力,满足用户在不同场景的一个需求。

image.png

(1) 存储压缩

首先我们看一下刚才提到的存储压缩方面,ADB PG 支持用户去指定压缩算法,然后除此之外,ADB PG还支持自动压缩 ADB PG 内核引擎可以根据数据特点去选择一种最合适的压缩算法,也来到来达到压缩比和计算性能的一个最佳平衡。然后在压缩和解压的过程中,我们用到了非常多的技术,像一些变形解压,还有一些性能指令加速,可以利用单指令多数据的方式去加速整个解压的过程。像常见的 LZ4 ZLIB , ADB PG 都是支持的。

image.png

(2)外表存储

接下来我们看一下 ADB PG 的外表存储,除内部存储外,ADB PG 还支持的外表方式去访问 oss 和 Hadoop 的存储数据,对象重组是阿里云推出的存储服务,具备数据量大、成本低、安全性高,能够满足多种场景的存储需求。

ADB PG 还支持通过外表的方式对 oss 重组服务进行访问,就是对 oss 数据进行分析操作,同时也支持数据导出到oss,目前支持的数据格式,包括 oss ODPS ,支持分区,同时支持部分的过滤下飞操作,然后此外支持通过外表的方式去访问。这个 Odps 也是 master computer 的数据。

image.png 


九、Analytic DB Postgre SQL 的安全性

介绍完存储,接下来我们看一下  APP 的一些安全特性。网络和数据链路方面的话,ADB PG 既作为云原生分布式系统,拥有非常高的安全性,首先每个新建实力使用专有网络,也称为 vBC 是一种隔离的网络环境,安全性和性能均高于传统的经典网络。另外根据使用场景可选择是否公开公网地址,以减少潜在的安全风险。其实也支持只允许白名单上的 IP 列表或者 IP 段去访问。为了提高数据链路安全性,支持启用 SSL 加密提供且提供一些相关的证书给需要的应用服务,甚至是启用双向的任职证书来进一步提高安全等级。在用户方面,ADB PG 支持两种数据库,用户账号,高权限账号和普通账号,高权限账号拥有数据库的所有操作权限,普通账号拥有已授权数据库的所有操作权限,每个用户账号的密码都将使用 MD5 哈希算法来加密保存,也来保证一密码明文不会被泄露。权限体系方面,展示了 ADB PG 的一个对象级别的权限,包含了用户、数据库、Schema、函数、序列以及表的权限,对象级别的权限,根据每个对象的类型所赋予的权限都不一样。想代表 people 权限可以有 appe 的 slayer、嗯 slake、delete 等,而 function 就只有 IQ 的具体每个对象所对应的权限集合,还是请各位参考一下 PC 的官方文档。然后这里贴了一个链接,

image.png

SQL 审计就是用户通过做过的任何一些 SQL 查询,然后 ddldmdml 操作等这些操作我们都会记录下来,然后放在对应的一个插件功能上,用户可以通过 SQL 审计工具去查看各种操作的记录。

整个 SQL 审计是基于一个日志的形式,所以对系统的性能影响是非常小的。同时数据也是支持加密的,在公共云上是采用支持采用云盘的加密。

image.png


十、Analytic DB Postgre SQL 的扩展性

看一下 ADB PG 的一个在线扩容,ADB PG 拥有两种的水平扩展方式,一种是原地扩容,一种为迁移功能。

原地扩容就是在原有实力基础上增加计算节点,而这种方式通过一致性函询算法来用,所以扩充时挪动的数据量相对较少,然后扩容速度更快,而迁移扩容则是通过新建一个实例,然后将原有的实例数据迁移过去的方式来实现扩容,这种方式相对于原地扩容的成本比较高,但是这种方式更加灵活,可以实现跨 region 和跨可用区的扩容。然后下面这张图展示了一个原地扩容的一个基本思路,左边的话是原来有4个节点,然后现在增加了两个细节的新的节点,扩充任务发起之后,管控部位会首先执行一系列的步骤来准备购物环境,就比如创建机器的用户,打通新老机器的免密,刷新白名单,生成配置文件等,然后下发命令实例执行扩容。实际扩容主要包括三个步骤,第一个是 segment 初始化阶段,这一步是向集群中增加新的节点,主要包括初始化新节点与同步开的 logo,在这个阶段会短暂的去所开的 logo 表,以保持新旧数据的新旧的新旧节点的原数据一致,持久战过程中会锁住 logo,时长的话是与扩容的节点数是相关的,然后这一步操作完之后,新的计算资源就被加到了当前的实例中,之后创建的表的数据分布到所有节点上,但存量的数据仅分布在旧的节点中,然后就等待下一步的数据从分布。第二步就是从分布的阶段,此阶段会遍历所有的带扩容的表,然后对每张表执行重分布,之前从分部会对表加八级锁,直到双方部的完成,意味着在表从分布期间是不可读写的,但其他表是可以正常出现的。然后后来优化了这个过程,降降低了所有的级别,使得从分部期间是可读的。但在交换数据文件之前的话,会短暂的升级到8级锁。最后一个就是清理阶段,这个步骤主要是去清理扩容产生的临时文件,对实例是没有影响的,通常也不会失败的。

image.png


十一、Analytic DB Postgre SQL 的生态集成

介绍完 ADB PG 众多的核心能力,我们来看一下 ADB PG 的丰富的一个生态集成,ADB PG 是可以支持多数 Excel 工 具,像阿里云的 Data works 数据集成,开源的像 Kettle Informatica,这些都是支持的。 Bi 的一些数据可视化工具,Quickbi 和 Datav 等,这些都是可以实现无缝无缝的对接。同时可以与业界流行的流式处理系统,就这类系统,大数据类系统,传统的数仓以及数据库,数据库类的系统,都可以互通有无。

image.png

 

十二、Analytic DB Postgre SQL 的未来展望

最后我们看一下 ADBPG 的一个未来规划,然后本次介绍了云原生数仓 ADB PG 当前的一个基础架构,模块组件以及交互使用场景、产品形态以及性能、成本、扩展性、安全性、高级扩展等核心能力和生态工具集成。未来云原生数仓ADB PG 还会持续在原生架构和特性性能成本优化以及 hip 场景三个方向进行技术投入,不断打磨。在云原生层面,像存储计算分离架构演进,提供秒级的扩收容和按需的弹性弹性能力。同时在线热升级做到业务完全无感知。在性价比方层面,通过执行引擎,优化器和存储引擎的持续优化,打造极致性能。这是写入查询高通图低延时多并发,同时引入实时物化视图进行查询,结果及缓存等功能,做到特定层场景的定向优化,通过分层存储等功能持续降低使用成本。在 HTAP 层面,通过多副本查询扩展行业缓存,做到在线事务和分析一套系统。

相关实践学习
阿里云百炼xAnalyticDB PostgreSQL构建AIGC应用
通过该实验体验在阿里云百炼中构建企业专属知识库构建及应用全流程。同时体验使用ADB-PG向量检索引擎提供专属安全存储,保障企业数据隐私安全。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
3天前
|
Cloud Native 安全 数据安全/隐私保护
云原生架构下的微服务治理与挑战####
随着云计算技术的飞速发展,云原生架构以其高效、灵活、可扩展的特性成为现代企业IT架构的首选。本文聚焦于云原生环境下的微服务治理问题,探讨其在促进业务敏捷性的同时所面临的挑战及应对策略。通过分析微服务拆分、服务间通信、故障隔离与恢复等关键环节,本文旨在为读者提供一个关于如何在云原生环境中有效实施微服务治理的全面视角,助力企业在数字化转型的道路上稳健前行。 ####
|
3天前
|
Cloud Native 安全 API
云原生架构下的微服务治理策略与实践####
—透过云原生的棱镜,探索微服务架构下的挑战与应对之道 本文旨在探讨云原生环境下,微服务架构所面临的关键挑战及有效的治理策略。随着云计算技术的深入发展,越来越多的企业选择采用云原生架构来构建和部署其应用程序,以期获得更高的灵活性、可扩展性和效率。然而,微服务架构的复杂性也带来了服务发现、负载均衡、故障恢复等一系列治理难题。本文将深入分析这些问题,并提出一套基于云原生技术栈的微服务治理框架,包括服务网格的应用、API网关的集成、以及动态配置管理等关键方面,旨在为企业实现高效、稳定的微服务架构提供参考路径。 ####
20 5
|
4天前
|
负载均衡 监控 Cloud Native
云原生架构下的微服务治理策略与实践####
在数字化转型浪潮中,企业纷纷拥抱云计算,而云原生架构作为其核心技术支撑,正引领着一场深刻的技术变革。本文聚焦于云原生环境下微服务架构的治理策略与实践,探讨如何通过精细化的服务管理、动态的流量调度、高效的故障恢复机制以及持续的监控优化,构建弹性、可靠且易于维护的分布式系统。我们将深入剖析微服务治理的核心要素,结合具体案例,揭示其在提升系统稳定性、扩展性和敏捷性方面的关键作用,为读者提供一套切实可行的云原生微服务治理指南。 ####
|
4天前
|
消息中间件 缓存 Cloud Native
云原生架构下的性能优化实践与挑战####
随着企业数字化转型的加速,云原生架构以其高度解耦、弹性伸缩和快速迭代的特性,成为现代软件开发的首选模式。本文深入探讨了云原生环境下性能优化的关键策略与面临的主要挑战,通过案例分析,揭示了如何有效利用容器化、微服务、动态调度等技术手段提升应用性能,同时指出了在复杂云环境中确保系统稳定性和高效性的难题,为开发者和架构师提供了实战指南。 ####
17 3
|
4天前
|
运维 Kubernetes Cloud Native
云原生技术在现代应用架构中的实践与挑战####
本文深入探讨了云原生技术的核心概念、关键技术组件及其在实际项目中的应用案例,分析了企业在向云原生转型过程中面临的主要挑战及应对策略。不同于传统摘要的概述性质,本摘要强调通过具体实例揭示云原生技术如何促进应用的灵活性、可扩展性和高效运维,同时指出实践中需注意的技术债务、安全合规等问题,为读者提供一幅云原生技术实践的全景视图。 ####
|
SQL Shell Linux
adb命令详解(二)——手机缺失sqlite3时操作数据库的多种解决方案
adb命令详解(二)——手机缺失sqlite3时操作数据库的多种解决方案
357 0
adb命令详解(二)——手机缺失sqlite3时操作数据库的多种解决方案
|
SQL 关系型数据库 OLAP
分布式 HTAP 数据库 ADB PG 架构解析
阿里云ADB PG,为基于PostgreSQL内核构建的分布式数据库,兼容部分Oracle语法,其可以水平扩展,即支持高吞吐的分布式事务处理,也支持高性能的复杂查询分析,是业内最具竞争里的分布式HTAP数据库。
7054 0
分布式 HTAP 数据库 ADB PG 架构解析
|
存储 监控 安全
【阿里云新品发布·周刊】第19期:分析型数据库ADB 3.0重磅发布,驱动数据价值在线化
点击订阅新品发布会! 新产品、新版本、新技术、新功能、价格调整,评论在下方,下期更新!关注更多内容,了解更多 最新发布 分析型数据库AnalyticDB for MySQL 3.0发布会 2019年7月31日15时,分析型数据库AnalyticDB for MySQL 3.0重磅发布。
2511 0
|
Shell Linux 数据库
安卓虚拟机adb shell sqlite3数据库
  adb shell 连接:   //http://www.cnblogs.com/xiaobo-Linux/  Android把数据都存放在data/data目录下。 我们使用cd命令转到data/data目录下: cd /data/data     ls 命令你会看到StudDB.db,这就是我们的StudDB.db数据库。
1082 0