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

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

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

1回答

韩成亮韩成亮  数据库管理员 , KE
yinxinzhuhaiqiang赞同了此回答
标题存在歧义首先需要确认你的需求的实时性,如果是实时性比较高的,存在事务的影响,尽量还是在一个库里面操作,至于数据冗余还是数据同步取决于你的可容忍的响应时间推荐使用同步,首先对当前业务库无影响,或者说只有复制的压力,至于你说的同步增加的风险,其实不需要担心,做好监控就...显示全部

标题存在歧义
首先需要确认你的需求的实时性,如果是实时性比较高的,存在事务的影响,尽量还是在一个库里面操作,至于数据冗余还是数据同步取决于你的可容忍的响应时间
推荐使用同步,首先对当前业务库无影响,或者说只有复制的压力,至于你说的同步增加的风险,其实不需要担心,做好监控就行

收起
 2020-01-13

提问者

冰玉数据库开发工程师, 上海海典

问题状态

  • 发布时间:2019-12-23
  • 关注会员:2 人
  • 问题浏览:906
  • 最近回答:2020-01-13
  • 关于TWT  使用指南  社区专家合作  厂商入驻社区  企业招聘  投诉建议  版权与免责声明  联系我们
    © 2020  talkwithtrend — talk with trend,talk with technologist 京ICP备09031017号-30