當您在使用關系型數據庫(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的方式實現數據實時同步,在不影響源數據庫的情況下,同步延遲可降至毫秒級別。 | 對數據同步的實時性要求較高的場景。 |
|