业务库使用mysql横向切分为不同的业务库中。在业务中需要不同的库中数据关联查询(如匹配用户名、企业名、商品名等)
已研究方案:
中间件
sharedingsphere:不支持不同实例上库关联查询
mycat:只支持跨库两张表的关联查询,不能满足需求
阿里云DMS(数据管理):必须使用阿里整个mysql环境,非开源
引擎:
federated引擎:可以实现,操作复杂、运维麻烦,查询速度慢近一个量级。相关资料少、不了解具体原理与实现方案、不知道是否有坑(保留方案)
同步:
同步到分析库,使用分析库查询。同步有时差、数据同步增加风险(保留方案)
数据冗余:
将关联的表做冗余每个库中存储一份。冗余时保证一致性复杂、数据量大不适合冗余
业务分库查询-拼接:
以主表查询结果为主,分别去其他辅助库中查询所需数据。增加系统复杂性,效率低
目前有没有其他 比较成熟的数据库中间件 或者 解决方案?