我正在为一个地理分布式应用程序设计架构,该应用程序将分布在不同的国家和城市。有相关的收藏,例如 -
店铺(遍布国家和城市) 店铺15天交易(其余去历史店铺)等。
是否可以确保商店和商店的交易在同一个分片中?目前在交易集合中,假设我只存储商店的唯一 _id 作为参考。
假设我使用 {region, country, city, shop_id} 之类的键对 Shop 集合进行分片。我是否必须为交易表存储相同的列/属性 - 即 region, country, city, shop_id 而不仅仅是 shop_id 然后选择一个分片键 - {region, country, city, shop_id, tx_id} 以确保它与 Shop 收藏放在同一个分片中?
换句话说,如果“子”集合的记录在逻辑上与“父”集合的记录相关,那么我们应用于“父”集合的整个分片键是否必须是“子”分片键的一部分' 以确保它们位于同一个分片上?
谢谢和问候, Archanaa 熊猫