|
中山大学学报(自然科学版) 2017
一种改进的数据库Sharding方法Keywords: Sharding,水平扩展,负载均衡,一致性哈希,动态均衡 Abstract: 摘要 Sharding是用于开源数据库的一种水平扩展解决方案,包含两个主要步骤:逻辑划分和物理映射.对于前者,现有机制通常根据Shard Key采取基于Range或是Hash的方式来实现.然而,基于Range的方法不能够保证数据值域的均衡;基于Hash的方法不适用于范围查询,且当Shard Key不均匀时无法保证数据量的均衡.对于后者,现有机制通常采用一致性哈希来确保存储节点的动态扩展,然而该方法并未考虑数据增减导致Chunk大小变化时的数据均衡机制.为此,提出一种新的负载均衡的Sharding方法:一方面综合考虑上述两种划分方式的优缺点提出一种新的逻辑划分方法,另一方面给出一种Chunk大小变化而导致的不均衡处理机制.实验证明本文提出的方法能够有效保证数据的负载均衡.
|