DRDS:Distributed Relational Database Service

https://www.jianshu.com/p/4476704c438e
阿里 DRDS:https://zhuanlan.zhihu.com/p/88899448
闲鱼异构数据,半小时搜索:https://blog.csdn.net/weixin_38912070/article/details/100148835

分库分表

异构索引表

https://blog.csdn.net/u014231523/article/details/88096413
针对非主键的字段的查找,可以建立异构索引表,并在插入或更新主表时,更新异构索引表,来保证一致性。

异构索引表可以只保留索引列和主键列,也可以使用全复制保留完整记录

  • 淘宝就是使用全复制,可以减少多次回表操作
  • 但一般会建立多个索引表,使用全复制数据冗余就太大了

例如:订单表,里面包含买家 ID:

  • 插入一条订单后,同时使用卖家 ID 作为分库分表 key,再插入一条索引记录
    • 索引表的插入是异步的,如果对索引查询的实时性要求高,可以使用同步插入
  • 买家需要查询自己的所有订单时,使用买家 ID 查询索引表,则一次性查询出改买家的所有订单 ID
  • 再根据订单 ID 去查询订单表的数据

插入:
插入主表,同时插入以买家 ID 为主键的索引表:
并发问题?由 DRDS 去负责?

大数据量 - 图1

查询:
查询时,先通过买家 ID 查询索引表,找到对应的订单 ID,再根据订单 ID 去查找主表的记录:
大数据量 - 图2