行记录多集群存储
工作表是 HAP 应用核心数据体量最大的模块,从 应用数据存储架构说明 中可以看出,每个工作表物理层面对应一张数据库表。在 MongoDB 中,每个数据库实例中可创建的表(Collection)是有上限的,当然此上限值支持修改,但考虑数据库实例本身资源占用情况,也不建议设置过大。随着表的增加,可以选择在当前集群分库或使用新集群分担,但同一个集群下分库消耗的依然是当前集群资源,后期资源只能无限增加,长期来看这并不是一个好的选择,所以 HAP 目前采用的是分集群的模式。
实现方案主要是基于一张路由表(表Id + 行记录数据库集群实例编号),记录每张工作表对应的行记录数据库表存储在哪个集群实例中。