基本概念
本文介绍云原生数据仓库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协议保证多副本的数据一致性。
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数仓版弹性模式集群版(新版)和企业版及湖仓版实例支持配置多个资源组。每个资源组拥有独立的计算资源,不同资源组间的计算资源在物理上完全隔离。不同的任务被分配到不同的资源组上执行,例如离线分析和在线分析被分配到不同的资源组,避免资源争夺和性能下降。