本文主要是介绍思考(六十七):按段(segment)分片的数据库应用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题
在使用数据库的应用中,通常会通过对 ID 做 hash 映射到分库分表,达成压力均摊
在实际实施过程中,通常会有 2 个问题:
- 当实例进行扩容时,必须停服维护, rehash 用户数据
- 不同实例压力分担不均,通常 ID 越大的那些实例压力大
因此,实作中,通常会使用按段(segment)划分维护数据集
本文,举 3 个例子来阐述其思想:
- 美团 Leaf-segment 数据库方案实现
分布式ID生成器
- 永不迁移数据和避免热点的 MySQL 横向扩展方案
- Redis 集群的按哈希槽实现分片
Leaf-segment 数据库方案
该方案在官方的博客中也要详细描述: 传送门
这里简要阐述下其原理:
如图,该
这篇关于思考(六十七):按段(segment)分片的数据库应用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!