开发者社区> 问答> 正文

RDS~MYSQL的表,怎样才能把任意字段(没有索引)用于查询条件不降低性能?

我想是否能够通过读写分离,讲mysql表同步到某种数据结构中,查询在新的结构中进行,起到任意查询的效果?

看了阿里云的各种技术,感觉只有hybridDB中的列存储有这种能力。我的问题是:

  1. 阿里云产品中有没有其他更好的选择? 比如分析型数据库
  2. 如果用hybridDB, 如何实现从mysql的实时同步?

展开
收起
老范2017 2017-03-19 13:18:40 4209 0
4 条回答
写回答
取消 提交回答
  • 是否可以考虑opensearch的方案?opensearch支持直接从RDS增量更新数据。因为任意字段的查询,从业务场景上来说更像一个搜索引擎的场景。传统的数据库即便在有索引的情况下,也可能会碰到like %XXXX%的前后模糊匹配的场景。我们曾经使用opensearch解决了类似的任意字段前后端模糊匹配的业务场景。不过我们对实时性要求不高,分钟级别的都是可以接受的。这里分享下业务协同的经验,同业务反复沟通这个实时性的业务价值,后来发现大家更多的是因为一直以来的惯性在考虑数据的即时查询。(当然每个场景都有自己的判断。可能也未必适合:))

    2019-07-17 20:56:38
    赞同 展开评论 打赏
  • 分析型数据库我也看了,官网说是数据会延迟一分钟后出现,这就没法满足要求了,延误几秒接受,具体实时性有人知道吗?

    反过来如果dts也有分钟级的延迟,那hybridDB方案也不行了,dts能做到秒级同步吗?(操作量不大)

    2019-07-17 20:56:38
    赞同 展开评论 打赏
  • 用hybridDB应该是能满足你的要求的,具体从mysql实时同步数据到hybridDB可以看下这个“数据传输服务DTS”:https://help.aliyun.com/product/26590.html?spm=5176.750001.2.22.fvwi3N。如果这个不能满足你的要求,就只能自己写同步代码了,可以参考下mysql主从同步的思路

    2019-07-17 20:56:38
    赞同 展开评论 打赏
  • RDS配合数据传输服务,就可以实现您说的问题:
    1、如果只是要做读写分离,可以使用RDS的只读实例功能,将前端应用的写请求配置在主实例上,读请求配置在只读实例上即可;
    2、如果需要在实例上做一些分析,可以用数据传输,将RDS实例数据同步到另外一台实例上,然后做实时业务分析;
    3、现在数据传输可以支持RDS-分析型数据库的功能,您可以将数据同步到分析型数据库里面,做实时分析。

    2019-07-17 20:56:38
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像