数据库内核月报

数据库内核月报 - 2023 / 03

PolarDB MySQL · 持续补强的全局二级索引

Author: zhiyi

继我们去年年底发布内核原生的全局二级索引(用户文档)以来,陆续有客户过来咨询和使用。目前已经有客户在生产实例上大规模使用全局二级索引(Global Secondary Index,下文用GSI代替),大大优化了分区表场景下不含分区键的Query/DML性能以及支持不含分区键的Unique Key能力。阅读我们文章的读者,大部分都是数据库资深使用者和开发人员,应该能体会到这样一个从无到有的功能,在保持MySQL 100%兼容的情况下持续演进,存在大量的工程问题需要解决。因此,在全局二级索引上线之后的这段时间,我们不断补强它的各方面能力,本文将介绍PolarDB内核团队在全局二级索引方面的持续演进工作,并简单总结了目前用户的使用经验。

传统分布式数据库/中间件的平替方案

在需要使用GSI的客户里,我们发现除了本身MySQL分区表的客户以外,有多个客户是从传统的分布式数据库/分布式中间件迁移过来的。这部分客户选择迁移PolarDB MySQL的原因非常清晰:

用户迁移到了PolarDB MySQL后,根据业务的负载情况和表结构特征,可以选择单表或者分区表的方式。不管是单表还是分区表,我们都提供和MySQL单表/分区表完全一致的使用方式。PolarDB之前有一系列针对大表场景做优化的文章(单表/大表优化),读者可以自行查阅。本文主要侧重PolarDB MySQL在全局二级索引方面的情况,也就是分区表加强方面,读者在阅读之前可以阅读以下文章:分区表增强全局二级索引,对PolarDB分区表&全局二级索引有更深入的理解。

针对全局二级索引的DDL增强

针对全局二级索引的其它方面增强