基本概念

本文介绍云原生数据仓库AnalyticDB MySQL版的基本概念。

地域

地域指数据中心所在的地理区域,通常按照数据中心所在的城市划分。例如,华北2(北京)地域表示数据中心所在的城市是北京。

可用区

可用区是指在同一地域内,电力和网络互相独立的物理区域。例如,华北2(北京)地域支持12个可用区,包括北京 可用区A北京 可用区B等。同一可用区内实例之间的网络延时更小,其用户访问速度更快。

集群

集群是数据库之上的物理概念。不同集群之间是物理隔离的。一个集群可以有一个物理数据库和多个逻辑数据库。

物理库

物理库,是数据库在物理存储设备上的物理表示和存储方式,包括数据文件、日志文件、索引文件等。创建AnalyticDB for MySQL集群时,会自动创建一个物理库。每一个物理库被切分为若干个分片(Shard)。这些分片分布到若干个节点组(Worker Group)上。每个分片都由一个独立的Raft组管理。

逻辑库(数据库)

逻辑库,是数据库在逻辑上的组织结构,包括表、视图、索引等。CREATE DATABASE创建的就是逻辑数据库。一个AnalyticDB for MySQL集群最多可创建2048个逻辑数据库。

AnalyticDB for MySQL文档中提到的数据库,都是指逻辑库。

分片(Shard)

根据分布键,将表数据水平分割后得到的子表,称为分片,英文名称为Shard。这些分片分散在若干个存储节点组(Worker Group)上,每个存储节点组维护一部分数据,有利于提高系统的可伸缩性和性能。

每个分片都由一个独立的Raft组管理。同一个Raft组的多副本部署在同一个存储节点组的多个节点,通过Raft协议保证多副本的数据一致性。

分片示意图

image

AnalyticDB for MySQL集群的分片数量不受配置变更的影响。查询集群的分片数:SELECT COUNT(1) FROM information_schema.kepler_meta_shards;

分区(Partition)

分片可按分区键拆分为分区。分区键通常为日期时间列,以实现数据的生命周期管理。

AnalyticDB for MySQL的表分为分区表和复制表。建表语法,请参见创建表

分区表

分区表,又称普通表,根据分布键将表的数据拆分为多个分片,分片分散在各个存储节点上。再根据分区键,将每个分片拆分为不同的分区。分区表能够利用分布式系统的查询优势,查询效率高。分区表可存储的数据量较大,通常可以存储千万条甚至千亿条数据。

复制表

集群的每个Shard都会存储一份复制表的全量数据。因此,复制表中的数据量不宜过大,最好不超过2万行。

由于复制表的变更会广播到集群的所有Shard,确保所有Shard的数据一致性,影响写入性能,因此不建议频繁增删改复制表的数据。

EIU

EIU,全称为Elastic IO Unit,中文名称为弹性IO资源,是AnalyticDB for MySQL弹性模式集群版(新版)的存储节点,负责数据存储,还提供数据写入、数据查找和数据扫描等能力。

一组EIU,也就是一个存储节点组,其中包含三个存储节点。您可以在创建集群时购买EIU,也可以在高吞吐写入或大数据量扫描时购买或扩容EIU。EIU的性能指标,请参见EIU详解

ACU

ACU,全称为AnalyticDB Compute Unit,是AnalyticDB for MySQL企业版及湖仓版计算资源和存储资源的最小单位。一个ACU约等于1核4 GB。

资源组

资源组是对计算资源的划分,用于满足同一集群内部多租户、混合负载的需求。AnalyticDB for MySQL数仓版弹性模式集群版(新版)企业版及湖仓版实例支持配置多个资源组。每个资源组拥有独立的计算资源,不同资源组间的计算资源在物理上完全隔离。不同的任务被分配到不同的资源组上执行,例如离线分析和在线分析被分配到不同的资源组,避免资源争夺和性能下降。