当您在使用关系型数据库(RDS)遇到查询慢的问题时,可将RDS中的数据同步至阿里云Elasticsearch进行查询分析。阿里云Elasticsearch是一个基于Lucene的实时分布式的搜索与分析引擎,可近乎于准实时地存储、查询和分析超大数据集。您可以通过DTS、Logstash、DataWorks和Canal等多种方式将RDS中的数据同步至阿里云Elasticsearch。本文介绍各同步方案适用的场景,帮助您根据业务选择合适的场景同步数据。
同步方案 | 原理说明 | 适用场景 | 使用限制 | 相关文档 |
DTS实现数据实时同步 | 通过订阅binlog的方式实现数据同步,在不影响源数据库的情况下,同步延迟可降至毫秒级别。 | 对数据同步的实时性要求较高的场景。 | ||
Logstash JDBC数据同步 | 通过logstash-input-jdbc插件实现通过Logstash批量查询RDS中的数据,并将数据迁移到Elasticsearch。实现的本质是该插件会定期对RDS中的数据进行循环轮询,从而在当前循环中找到上次插入或更改的记录,然后批量查询这些记录并迁移至Elasticsearch。与DTS同步方案相比,该方案的实时性较差,存在秒级延迟。 |
|
| |
DataWorks实现离线数据同步 | DataWorks是一款提供数据集成、数据开发及数据质量等全方位的产品服务。支持引入并存储关系型数据,然后进行转化和开发,最后将处理后的数据同步到Elasticsearch或其他数据系统。 |
|
| |
Canal实现MySQL数据同步 | 通过订阅binlog的方式实现数据实时同步,在不影响源数据库的情况下,同步延迟可降至毫秒级别。 | 对数据同步的实时性要求较高的场景。 |
|