【视频】PolarDB-云原生关系型数据库的解析与实践|学习笔记(三)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 快速学习【视频】PolarDB-云原生关系型数据库的解析与实践

开发者学堂课程【关系型数据库 ACP 认证课程【视频】-RDS-云关系行数据库的解析与实践】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/927/detail/14620


【视频】PolarDB-云原生关系型数据库的解析与实践


(3)历史库引擎 X-Engine  

X-Engine 是阿里自研的一个存储引擎,其目标是面向大规模的海量数据存储,提供一定高并发的一些事务处理能力,同时最重要的是能够降低存储成本。

首先,X-Engine 的热数据层和数据更新都是适用内存存储的,使用了一些内存数据库的技术。第二点是 X-Engine 做了流水线的事务处理机制,可以把整个受处理的几个阶段并行起来通过,然后把整个吞吐提升上去。第三点是 X-Engine 可以把访问频度低的数据逐渐淘汰,或者是合并到一个持久化的存储存储层中,然后结合多层次的存储设备,最好的是 NVM 非易失性内存, SSD 、HDD 一类的普通硬盘进行存储,因为 LSM TREE是一个分层的架构,特别适合冷热数据区分的一个分层存储,另外对性能影响较大的 Compaction 过程做了很大的优化, Compaction 是 X-Engine 本身的一个流程,需要把这个分层的数据去做 merge ,但我们做的优化可以把整个 X-Engine 的数据存储力度做一个拆分,尽量的去利用数据更新、热点较为集中,然后再合并,合并过程中复用数据以及去精细化的控制, X-Engine 处理的这个形状最核心的其实就是为了减少 Io 和计算代价去缓解合并过程中的写空间放大的问题。另外还使用更细力度的访问控制和缓存机制,去优化读的性能。

(4)并行查询

● 有效利用多核 CPU ,大幅提升长査询的查询性能

● 并行查询支持大部分 SELECT 语句

● 适用轻分析类业务、离线分析场景等

主要适用于大表查询,多表链接计算量比较大的SELECT语句,适合场景:一个场景是轻分析报表类的查询,它SQL相对复杂,相比在线tp业务也会多耗时间,但通过并行查询可以加速单次查询的效率;另外一个场景是有些只读节点系统资源相对空闲,并行查询可以利用更多的系统资源,如果有充足的CPU,充足的内存,就可以使用并行查询,把整个资源利用率和查询效率都提升起来。

第三块是在离线混合的场景,主要是隔离的场景对应上图:PolarDB上不同业务去使用不同的连接地址,底层连接到不同的实际的物理数据库节点上,互相就可以不影响。

例如:可以把某个单节点去开启并行查询执行OLTP类型的请求,所有这些请求就只会通过单节点的地址下对应的只读节点去访问,相当于复杂且耗时的SQL就不会影响核心业务。

并行查询的关键是利用多核的CPU并行处理能力,当查询数量达到一定阈值之后,阈值会提前通过某些算法进行预估,会自动启用并行查询框架,但是可以提前定义好并行查询可以用多少个线程数,对于相关的请求存储层就会把数据分到不同的线程上面,把多个线程做并行计算,最后把结果流水线汇总到总线程,总线程做多个流水线的归并返回给用户可以提高查询效率。有一些分析型场景下测试会有10倍的性能提升。

My SQL是一个SQL请求只会用一个线程,但是PolarDB并行查询上相当于在内核里孵化多个线程充分把资源利用起来,这个功能在开源的 My SQL或者RDS是没有办法实现的。

 

三、操作

image.png到控制台之后,在正常情况下,如果没有购买的话,该界面应为空,这时要新购一个 PolarDB 集群,创建新的集群。

image.png这里有不同的类型,比较常见的就是包年、包月以及按量付费,还有两个比较特别的是计算包和存储包,因为 PolarDB 是一个存储计算分离的架构,非常方便的就可以实现计算资源以及计算的计费和存储计费去做分离,他们是独立的,相当于如果做包年包月,计算资源和存储资源都是预购好的,按量付费全都不预购,但是整个的价格会没有优惠,是计算包和存储包包年、包月和按量付费的一个中间状态,比如买了计算包,就是先预购了计算的资源,这样计算资源省一点,但是存储资源可能不知道要花多少,可能有段时间非常多,突然优惠变少,这样存储资源就是按量付费的,如果买了存储包,计算资源按量付费,存储包就可以预购好,相当于存储包是包年包月这样的一个模式,所以这两个其实是一个中间状态。

下面有选择地域,创建方式包括支持从集群主集群,这两个其实是 GDN 的一个概念,也支持从 RDS 去做迁移。一般情况下, PolarDB 就是这五种模式。

系列化包括集群版,有多种架构集群版、历史集群版以及单节点的版本,常见的是买集群版。假设买8.0,可以选节点规格,最小的是2核,然后最大是88核和710G的,点立即购买即可。

PC开头的就是其 PolarDB 的一个集群ID,点击这个集群ID进去就可以看到 PolarDB 控制台的主界面。

image.png首先账号管理,新购买需要创建账号。 PolarDB 支持两种账号的模式,分别是高权限账号和普通账号,高权限账号只允许创建一个,普通账号可以支持创建多个。填写账号名,选择高权限账号和普通账号,还可以授权账号用哪些数据库。

image.png数据库管理允许在控制台上去创建一个数据库,创建 test 1,推荐设置字符集就是 UTF8 或 MP4 ,因为默认最常见的,也可以支持特殊字符,如果用其他,可能就会遇到一些 bug ,特别是中文特殊字符。创建数据库可以提前设好要授权在哪个账号,也可以去指定的权限,这些权限创建之后也可以再去修改。

创建数据库后,可以去登录数据库,登陆数据库的话有两种方式,一种是你可以 PolarDB 给的连接串;在控制台上也可以去直接用账号密码登录,数据库是和那个 RDS 是一样的。

例如用已有的账号登录,数据库已经建立好了,就可以做建表的操作。

image.png参数配置:参数支持修改,如果是 PolarDB 基本上都会有文档,可以去参考 PolarDB 官方的一个文档。修改参数的话,有两种类型。一种参数是临时表,比如说像临时表这样的一个参数,是不需要重启的,可以直接去修改,改完以后就实施应用,也不会影响业务,临时表大小的参数,很多人在测试的时候可能会遇到临时表不够大的问题,就可以修改这些参数,重要的是确定以后并不能马上生效,他有一个提交修改的流程,可以一次修改多个参数。

image.png临时表参数不涉及重启实例,较简单。

PolarDB也提供开启Binlog的参数,和普通的不一样有个单独的名字:polar_log_bin。

这个参数是polar是否开启Binlog参数默认是OFF。PolarDB不依赖Binlog,可以把OFF改为ON就相当于PolarDB也开启了Binlog。对PolarDB的影响是它会单独生成一份Binlog数据,这个数据也是存储在共享存储上的,就可以通过像My SQL一样的把Binlog拿走,去做各种各样的分析。

下图这里有表示开启Binlog是要重启,所以涉及到修改这类参数会有切换的行为。

image.png性能监控:把一些常见的My SQL上的指标给抽出来,作为运维人员,有可能会发现近期的db变差或者有什么瓶颈就可以通过性能监控排查出来。

image.png集群维度的信息,例如QPS、TPS、CPU资源的使用率,下图可以看出是有两个只读节点和主节点,这些资源都是有三个节点,每个资源的CPU使用率都能看到。

image.png还包括数据代理的监控,计算节点的监控,比较高级的监控。

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍如何基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
2月前
|
关系型数据库 MySQL 分布式数据库
阿里云PolarDB云原生数据库收费价格:MySQL和PostgreSQL详细介绍
阿里云PolarDB兼容MySQL、PostgreSQL及Oracle语法,支持集中式与分布式架构。标准版2核4G年费1116元起,企业版最高性能达4核16G,支持HTAP与多级高可用,广泛应用于金融、政务、互联网等领域,TCO成本降低50%。
|
5月前
|
Cloud Native 关系型数据库 分布式数据库
客户说|知乎基于阿里云PolarDB,实现最大数据库集群云原生升级
近日,知乎最大的风控业务数据库集群,基于阿里云瑶池数据库完成了云原生技术架构的升级。此次升级不仅显著提升了系统的高可用性和性能上限,还大幅降低了底层资源成本。
|
5月前
|
关系型数据库 MySQL 分布式数据库
|
6月前
|
存储 Cloud Native 关系型数据库
PolarDB开源:云原生数据库的架构革命
本文围绕开源核心价值、社区运营实践和技术演进路线展开。首先解读存算分离架构的三大突破,包括基于RDMA的分布式存储、计算节点扩展及存储池扩容机制,并强调与MySQL的高兼容性。其次分享阿里巴巴开源治理模式,涵盖技术决策、版本发布和贡献者成长体系,同时展示企业应用案例。最后展望技术路线图,如3.0版本的多写多读架构、智能调优引擎等特性,以及开发者生态建设举措,推荐使用PolarDB-Operator实现高效部署。
371 3
|
6月前
|
Cloud Native 关系型数据库 分布式数据库
PolarDB开源:云原生数据库的新篇章
阿里云自研的云原生数据库PolarDB于2023年5月正式开源,采用“存储计算分离”架构,具备高性能、高可用及全面兼容性。其开源版本提供企业级数据库解决方案,支持MySQL、PostgreSQL和Oracle语法,适用于高并发OLTP、核心业务系统等场景。PolarDB通过开放治理与开发者工具构建完整生态,并展望更丰富的插件功能与AI集成,为中国云原生数据库技术发展贡献重要力量。
587 17
|
9月前
|
人工智能 关系型数据库 分布式数据库
阿里云PolarDB重磅发布云原生与Data+AI新特性,打造智能时代数据引擎
阿里云PolarDB重磅发布云原生与Data+AI新特性,打造智能时代数据引擎
548 0
|
10月前
|
运维 关系型数据库 分布式数据库
阿里云PolarDB:引领云原生数据库创新发展
阿里云PolarDB引领云原生数据库创新,2024云栖大会将分享其最新发展及在游戏行业的应用。PolarDB凭借弹性、高可用性、多写技术等优势,支持全球80多个站点,服务1万多家企业。特别是针对游戏行业,PolarDB助力Funplus等公司实现高效运维、成本优化和业务扩展。通过云原生能力,PolarDB推动游戏业务的全球化部署与快速响应,提升用户体验并保障数据安全。未来,PolarDB将继续探索AI、多云管理等前沿技术,为用户提供更智能的数据基础设施。
492 2
|
8月前
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
834 29
|
8月前
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
332 4
|
8月前
|
JavaScript 算法 前端开发
JS数组操作方法全景图,全网最全构建完整知识网络!js数组操作方法全集(实现筛选转换、随机排序洗牌算法、复杂数据处理统计等情景详解,附大量源码和易错点解析)
这些方法提供了对数组的全面操作,包括搜索、遍历、转换和聚合等。通过分为原地操作方法、非原地操作方法和其他方法便于您理解和记忆,并熟悉他们各自的使用方法与使用范围。详细的案例与进阶使用,方便您理解数组操作的底层原理。链式调用的几个案例,让您玩转数组操作。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~

推荐镜像

更多
  • DNS