我的行键的初始开始部分看起来像“YYYYMMDDhhmmss”,其中“ss”始终为 00。示例:20170603162100,对应于 2017 年 6 月 6 日的 16:21(不要问我为什么,但时间戳必须在钥匙的开始!)
这显然是每一分钟(显然每一分钟都是唯一的)数据。
这受到区域热点的影响。区域服务器上的行键将如下所示:
我的阅读模式:获取特定分钟的数据(不是一小时、一天、一个月、一年)
假设我有 10 个区域服务器。
这是我正在考虑的一个解决方案,它看起来像一种盐(但它是确定性的,而不是随机的):
我看到了 mm Part - minute 并根据它分配了一个盐。00 分钟:A 到行键的前缀 01 分钟:B 到行键的前缀 .. 09 分钟:J 到行键的前缀 10 分钟:A 到行键的前缀
这样,所有“A”密钥都应该分发到第一个区域服务器,依此类推。优点可能是:对同一区域服务器的所有单分钟请求,这对我来说是可以忍受的。下一分钟,所有请求都发送到其他区域服务器。
此外,在检索时,我不必进行并行读取,因为我实际上知道盐。
有人可以解释我在哪里错了吗?