术语表

本文介绍云原生分布式关系型数据库PolarDB-X使用过程中遇到的术语。

控制台术语

名词

描述

地域

数据中心所在的地理位置。

可用区

可用区是指在某一地域内,具有独立电力和网络的物理区域。同一可用区内实例之间的网络延时更小。

集群(实例)

PolarDB-X采用多节点集群的架构,集群中有多个CN和DN,集群也称为实例。

计算节点(Compute Node,简称CN)

PolarDB-X实例是存储计算分离架构,计算层由多个计算节点构成,每一个节点关系对等,规格相同。

计算节点包括SQL解析器、优化器、执行器等模块。

数据节点(Data Node,简称DN)

PolarDB-X实例是存储计算分离架构,存储层由多个存储节点构成,每一个节点关系对等,规格相同。

存储节点负责数据的持久化,基于多数派Paxos协议提供数据高可靠、强一致保障。

元数据节点

PolarDB-X实例的元数据管理节点,主要记录了表的拓扑信息等状态信息,并且提供全局时间戳的授时服务。

日志节点(Change Data Capture,简称CDC)

日志节点提供完全兼容MySQL Binlog格式和协议的增量订阅能力,提供兼容MySQL Replication协议的主从复制能力。又称为增量数据捕捉。

规格

实例规格。PolarDB-X每个节点的资源配置,例如8核64 GB。

集群地址

整合实例下的多个节点,对外提供一个统一的读写地址。集群地址具有自动弹性、智能路由、读写分离、负载均衡、一致性协调等能力。

只读地址

整合实例下的多个只读节点,对外提供只读服务。只读服务提供了强一致性和弱一致性两种只读选项。

主实例

对外提供数据库服务的主集群叫主实例,通过集群地址可以访问。

只读实例

只读实例是对主实例资源的一种扩展补充,兼容主实例的SQL查询语法,只读实例与主实例可以共享同一份数据,通过物理资源隔离的方式,缓解主实例的负载压力,降低业务架构的链路复杂度,无需进行额外的数据同步操作,节省运维及预算成本。

工作负载

工作负载分为TP(Transaction Processing)和AP(Analytical Processing),事务内操作、写操作、简单查询操作被归纳为TP负载,复杂的查询操作归纳为AP负载。

智能路由

当用户在集群地址上开启了智能路由,会基于统计信息识别SQL的工作负载类型来做路由,比如将识别为AP负载的流量路由给只读实例。

读写分离

当用户在集群地址上开启了读写分离,会根据SQL属性做直接路由,比如将事务内和写操作都路由给主实例,查询操作统一路由给只读实例。

数据查询一致性

只读地址对外提供的查询一致性类型,分为强一致性和弱一致性。

  • 强一致性:可以查看到主实例上提交的最新数据,满足全局数据查询一致性。如果主备延迟过大,提交的查询会等待;

  • 弱一致性:可以查看到当前只读实例上最新数据,如果在主实例和只读实例间数据同步有延迟的话,不会等待,查询到数据立即返回。

三权分立

可以将高权限账号拥有的权限分给系统管理员、安全管理员和审计管理员这3个角色,避免因权限高度集中带来的风险,增强数据库的安全性。三权分立主要运用于金融业务场景中。

白名单

为PolarDB-X实例提供访问安全保护,设置白名单并不会影响PolarDB-X实例的正常运行。

审计日志

记录用户操作记录,SQL审计日志默认保存45天。

内核术语

名词

描述

分布式表

按照一定的拆分规则根据拆分键将一张表中的数据拆分到多个数据库与数据表中。

广播表

广播表不做拆分,且所在数据库的所有数据节点均具有该表的副本。

单表

没有做拆分的表为单表。

数据库模式

创建数据库时通过Mode参数指定,包括DRDS与AUTO两种模式。

DRDS模式数据库

创建数据库时指定Mode=DRDS的数据库,此类数据库中使用的DDL语法是PolarDB-X 1.0(DRDS)的分库分表语法。

AUTO模式数据库

创建数据库时指定Mode=AUTO的数据库,此类数据库中手动指定分区键、分区算法时,使用的DDL语法是MySQL的分区表语法。

AUTO表

AUTO模式数据库中,建表时未使用PARTITION语法的表称为AUTO表,AUTO表是分布式的。

分区表

AUTO模式数据库中,创建表时使用了PARTITION语法的表称为分区表。

表组(Table Group)

AUTO模式数据库中,为了尽可能避免跨机器查询,提高性能,可将某些全局索引组成表组,表组中的所有索引必须具有同样的Partition数目、相同的分区算法和同样的分区键。表组是全局索引级的,主表有自己的表组,每个全局二级索引也有自己的表组。

分区组(Partition Group)

AUTO模式数据库中,当表组中的表为分区表时,该表组的所有表的某个分区构成一个分区组,分区组是分区调度的基本单元,属于某个分区组的所有表分区始终会位于同一个存储节点。

Join Group

AUTO模式数据库中,Join Group由多个Table构成,在同一个Join Group中的Table,其全局索引(主表与全局二级索引)才会尝试被调度到相同的表组中。

执行计划

对SQL查询语句进行解析优化后的可供执行的计划。

查询改写

基于预先定义的规则对逻辑计划进行优化,输出更优的逻辑计划。

计划缓存

缓存执行计划,以便下次执行该SQL时根据参数化后的SQL字符串直接获取执行计划来执行。

计划管理

为每条SQL查询保存一个或多个执行计划,执行查询时仅从这些已知的执行计划集合中选择一个。

代价模型

用于估算物理查询的执行计划的代价,PolarDB-X的执行代价用(CPU、Memory、IO、Net)四元组来描述。

执行模型

与传统数据库采用Volcano执行模型不同,PolarDB-X采用的是Pull与Push结合的混合执行模型。

CBO(Cost Based Optimizer)

基于代价的优化器。

RBO(Rule Based Optimizer)

基于规则的优化器。

算子

执行计划由一系列算子构成,算子是基本的执行计划单元。

调度

将某个作业或者部分作业放到另外一台机器上执行。

Online DDL

执行DDL操作(例如创建索引)的同时不阻塞并发的DML操作。

逻辑查询

客户端发送至PolarDB-X的SQL查询。

物理查询

在数据节点执行的SQL查询。

逻辑连接

客户端到PolarDB-X计算节点的连接。

物理连接

PolarDB-X计算节点到PolarDB-X数据节点的连接。

分布式事务

同一事务内的操作涉及多个数据节点。

全局时间戳

集群内全局唯一且递增的时间戳。

局部索引

存储节点内,由MySQL维护的索引。又称二级索引。

全局二级索引(Global Secondary Index,简称GSI)

全局的二级索引,索引中的数据按照指定的拆分方式分布在各个存储节点上。

聚簇索引

一种特殊的全局二级索引,默认覆盖列包含主表的所有列,所有查询均不用回表,从而避免回表带来的额外开销。

主键拆分

按主键类型自动对表进行拆分。

水平扩缩容

增加或者减少节点数量,例如从四个节点增加至八个节点。

垂直升降配

升高或者降低单个节点的配置,例如节点规格从4C8GB升高至16C32GB。

XPaxos

阿里巴巴集团设计的分布式一致性协议。

Leader/Follower/Learner

XPaxos的节点类型,Leader负责发起提案;Follower具有投票权;Learner仅能获取变更,无权参与投票。

回表

扫描索引后,回查主表补全查询需要的列的操作。