mysql如何进行跨实例关联查询?

业务库使用mysql横向切分为不同的业务库中。在业务中需要不同的库中数据关联查询(如匹配用户名、企业名、商品名等)已研究方案:中间件    sharedingsphere:不支持不同实例上库关联查询    mycat:只支持跨库两张表的关联查询,不能满足需求    阿里云DMS(数据管理):必须...显示全部

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

目前有没有其他 比较成熟的数据库中间件 或者 解决方案?

收起
参与3

返回renou2012的回答

renou2012renou2012数据库管理员KE

数据库中间件是在中间件层面做聚合查询
可以试着在后端做数据的聚合 ETL,然后统一查询。

金融其它 · 2019-12-31
浏览2253

回答者

renou2012
数据库管理员KE

renou2012 最近回答过的问题

回答状态

  • 发布时间:2019-12-31
  • 关注会员:2 人
  • 回答浏览:2253
  • X社区推广