核心特性—全局二级索引

简介: 全局二级索引(Global Secondary Index,GSI)是PolarDB-X中的一项重要特性,相比于本地二级索引,全局二级索引中的数据按照指定的拆分方式分布在各个存储节点上。通过全局二级索引,用户能够按需增加拆分维度、提供全局唯一约束等。

每个GSI对应一张分布式索引表,和其他分布式表一样,按照指定的分区规则水平拆分为多张物理表。PolarDB-X使用分布式事务维护主表和索引表之间数据强一致。p325029.png

全局二级索引还支持以下特性:

  • 支持选择覆盖列,减少回表操作开销。
  • 在线表结构变更,添加GSI不锁主表。
  • 支持通过HINT指定索引,自动判断是否需要回表。

示例1:增加拆分维度。例如,对于在线商城的订单表,假设按照买家用户维度拆分,那么对于卖家查询(例如,查询某个卖家的本月所有订单)就需要扫描所有分区。但是借助全局二级索引,可以仅仅扫描相应卖家所在的索引表分区,快速找到所需的订单信息。

示例2:全局唯一约束。例如,假设用户表是一张分布式表,按照用户ID分区。若要求用户手机号需要全局唯一,那么本地索引无法满足,必须构建一个以手机号作为索引键(同时也是分区键)的唯一索引。

相关文章
|
6月前
|
存储 canal
分库分表优化:引入中间表
【7月更文挑战第12天】
65 10
|
8月前
|
存储 编译器 C++
C++新特性 扩展和聚合类型
C++新特性 扩展和聚合类型
|
SQL 存储 分布式数据库
分库分表索引设计:二级索引、全局索引的最佳设计实践
对主键来说,要保证在所有分片中都唯一,它本质上就是一个全局唯一的索引。如果用大部分同学喜欢的自增作为主键,就会发现存在很大的问题。
|
SQL 存储 分布式数据库
分库分表索引设计:分布式环境下的 主键索引、二级索引、全局索引的最佳设计实践
分库分表索引设计:分布式环境下的 主键索引、二级索引、全局索引的最佳设计实践
132 0
|
存储 SQL 关系型数据库
第8章_索引的创建与设计原则(下)
第8章_索引的创建与设计原则
160 0
|
SQL 存储 关系型数据库
第8章_索引的创建与设计原则(上)
第8章_索引的创建与设计原则
82 0
|
存储 缓存 算法
短链系统设计性能优化-分片键选型及全局自增 ID 策略
若一个 long 可对应多个 short 使用 cache 缓存所有 long2short 在为一个 long url 创建 short url 时,若 cache miss,则创建新 short
95 0
|
SQL 存储 关系型数据库
索引的创建与设计原则(1)
索引的创建与设计原则(1)
索引的创建与设计原则(1)
|
存储 算法 NoSQL
高并发分布式环境中获取全局唯一ID[分布式数据库全局唯一主键生成]
高并发分布式环境中获取全局唯一ID; 分布式数据库全局唯一主键生成
3013 0
|
SQL 存储 算法
事务、全局索引、透明分布式,再见,分区健!
在刚刚发布的PolarDB-X 2.1.0版本中,开源了透明分布式能力,能带给用户完全不同的透明分布式数据库使用体验。其中,一个最明显的不同,就是用户不再需要关注分区健这个概念,这也是副标题《再见,分区健》的来由。
1241 0
事务、全局索引、透明分布式,再见,分区健!