请列举常见的数据分片策略,并简要说明其优缺点。
简答题
请列举常见的数据分片策略,并简要说明其优缺点。
答案:常见的数据分片策略包括:范围分片、哈希分片、列表分片、复合分片等。范围分片按数据范围划分,实现简单,但可能数据倾斜;哈希分片通过哈希函数均匀分布,避免倾斜,但范围查询困难;列表分片按预定义列表划分,灵活但扩展性差;复合分片结合多种策略,更灵活但实现复杂。
解析
参考答案
- 范围分片:按连续区间划分。简单、易做范围查询,但可能数据倾斜或热点。
- 哈希分片:按哈希值取模或一致性哈希。分布均匀,但范围查询困难,扩容可能迁移。
- 列表分片:按预定义列表映射。灵活,适合枚举/业务分组,但列表维护成本高,扩展性差。
- 复合分片:组合多种策略,如先范围再哈希。更灵活,但实现复杂。
得分点解析
- 范围分片:必须点出“简单”和“可能倾斜”的权衡,这是选型核心。
- 哈希分片:必须点出“均匀”和“范围查询困难”,它影响查询设计与扩容。
- 列表分片:必须点出“灵活”和“扩展性差”,它适合固定业务维度。
- 复合分片:必须点出“灵活”和“实现复杂”,它用于兼顾均衡与业务局部性。
考点延伸
实际系统常用一致性哈希、虚拟槽、目录分片。选择时看查询模式、热点、扩容成本与运维复杂度。