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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 快速学习【视频】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数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
7天前
|
数据库 索引
深入探索数据库索引技术:回表与索引下推解析
【10月更文挑战第15天】在数据库查询优化的领域中,回表和索引下推是两个核心概念,它们对于提高查询性能至关重要。本文将详细解释这两个术语,并探讨它们在数据库操作中的作用和影响。
29 3
|
13天前
|
存储 NoSQL 关系型数据库
数据库技术深度解析:从基础到进阶
【10月更文挑战第17天】数据库技术深度解析:从基础到进阶
35 0
|
29天前
|
SQL 关系型数据库 MySQL
数据库导入SQL文件:全面解析与操作指南
在数据库管理中,将SQL文件导入数据库是一个常见且重要的操作。无论是迁移数据、恢复备份,还是测试和开发环境搭建,掌握如何正确导入SQL文件都至关重要。本文将详细介绍数据库导入SQL文件的全过程,包括准备工作、操作步骤以及常见问题解决方案,旨在为数据库管理员和开发者提供全面的操作指南。一、准备工作在导
139 0
|
6天前
|
存储 负载均衡 监控
数据库多实例的深入解析
【10月更文挑战第24天】数据库多实例是一种重要的数据库架构方式,它为数据库的高效运行和灵活管理提供了多种优势。在实际应用中,需要根据具体的业务需求和技术环境,合理选择和配置多实例,以充分发挥其优势,提高数据库系统的性能和可靠性。随着技术的不断发展和进步,数据库多实例技术也将不断完善和创新,为数据库管理带来更多的可能性和便利。
83 57
|
2天前
|
Kubernetes Cloud Native 调度
云原生批量任务编排引擎Argo Workflows发布3.6,一文解析关键新特性
Argo Workflows是CNCF毕业项目,最受欢迎的云原生工作流引擎,专为Kubernetes上编排批量任务而设计,本文主要对最新发布的Argo Workflows 3.6版本的关键新特性做一个深入的解析。
|
4天前
|
监控 Cloud Native 持续交付
云原生技术深度解析:重塑现代应用开发与部署范式####
本文深入探讨了云原生技术的核心概念、关键技术组件及其在现代软件开发中的重要性。通过剖析容器化、微服务架构、持续集成/持续部署(CI/CD)等关键技术,本文旨在揭示云原生技术如何促进应用的敏捷性、可扩展性和高可用性,进而推动企业数字化转型进程。不同于传统摘要仅概述内容要点,本部分将融入具体案例分析,直观展示云原生技术在实际应用中的显著成效与挑战应对策略,为读者提供更加丰富、立体的理解视角。 ####
|
11天前
|
人工智能 Cloud Native Java
云原生技术深度解析:从IO优化到AI处理
【10月更文挑战第24天】在当今数字化时代,云计算已经成为企业IT架构的核心。云原生作为云计算的最新演进形态,旨在通过一系列先进的技术和实践,帮助企业构建高效、弹性、可观测的应用系统。本文将从IO优化、key问题解决、多线程意义以及AI处理等多个维度,深入探讨云原生技术的内涵与外延,并结合Java和AI技术给出相应的示例。
54 1
|
20天前
|
Web App开发 SQL 数据库
使用 Python 解析火狐浏览器的 SQLite3 数据库
本文介绍如何使用 Python 解析火狐浏览器的 SQLite3 数据库,包括书签、历史记录和下载记录等。通过安装 Python 和 SQLite3,定位火狐数据库文件路径,编写 Python 脚本连接数据库并执行 SQL 查询,最终输出最近访问的网站历史记录。
|
11天前
|
运维 Cloud Native 持续交付
云原生技术解析:从IO出发,以阿里云原生为例
【10月更文挑战第24天】随着互联网技术的不断发展,传统的单体应用架构逐渐暴露出扩展性差、迭代速度慢等问题。为了应对这些挑战,云原生技术应运而生。云原生是一种利用云计算的优势,以更灵活、可扩展和可靠的方式构建和部署应用程序的方法。它强调以容器、微服务、自动化和持续交付为核心,旨在提高开发效率、增强系统的灵活性和可维护性。阿里云作为国内领先的云服务商,在云原生领域有着深厚的积累和实践。
39 0
|
23天前
|
SQL 开发框架 .NET
ASP.NET连接SQL数据库:实现过程与关键细节解析an3.021-6232.com
随着互联网技术的快速发展,ASP.NET作为一种广泛使用的服务器端开发技术,其与数据库的交互操作成为了应用开发中的重要环节。本文将详细介绍在ASP.NET中如何连接SQL数据库,包括连接的基本概念、实现步骤、关键代码示例以及常见问题的解决方案。由于篇幅限制,本文不能保证达到完整的2000字,但会确保

热门文章

最新文章