上硬菜 | 分布式数据库系统的数据分布设计范式
数据分布是数据库的存储和计算关键设计之一,不同业务场景下不同的数据分布会有数量级的性能差异。现代分布式数据库系统数据分布在多节点上,对数据分布提出了更多挑战。 本文主要openGemini为例,介绍在现代分布式数据库上进行高性能数据分布设计范式,主要包括分区键、分片键、主键和排序键等的设计范式。 分区键 分区是SMP架构数据库系统开始使用的数据分布技术。 SMP:SymmetricMulti-Processor,即对称多处理器架构 现代数据库系统通常使用PARTITION BY来控制分区,比如按时间(datetime)分区 PARTITION BY datetime 根据设定的分区字段值,将数据分布到不同的分区中。分区是物理存储单元,存储了不同范围区间的数据。 分区键设计范式:分区键值域连续且呈均匀分布。在Log, trace, event, metric等可观测性业务场景中,时间字段是作为分区键的最佳选择。 > show shards name: mst +---------+-----+-------------+----------------------+------...
