日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

同步方案選取指南

當您在使用關系型數據庫(RDS)遇到查詢慢的問題時,可將RDS中的數據同步至阿里云Elasticsearch進行查詢分析。阿里云Elasticsearch是一個基于Lucene的實時分布式的搜索與分析引擎,可近乎于準實時地存儲、查詢和分析超大數據集。您可以通過DTS、Logstash、DataWorks和Canal等多種方式將RDS中的數據同步至阿里云Elasticsearch。本文介紹各同步方案適用的場景,幫助您根據業務選擇合適的場景同步數據。

同步方案

原理說明

適用場景

使用限制

相關文檔

DTS實現數據實時同步

通過訂閱binlog的方式實現數據同步,在不影響源數據庫的情況下,同步延遲可降至毫秒級別。

對數據同步的實時性要求較高的場景。

  • DTS在執行全量數據初始化時將占用源庫和目標庫一定的讀寫資源,可能會導致數據庫負載上升。

  • 支持自定義索引Mapping,但需保證Mapping中定義的字段與MySQL中一致。

  • 需要購買DTS數據同步作業。購買方式,請參見購買流程;定價說明,請參見計費概述

通過DTS將MySQL數據實時同步到阿里云Elasticsearch

Logstash JDBC數據同步

通過logstash-input-jdbc插件實現通過Logstash批量查詢RDS中的數據,并將數據遷移到Elasticsearch。實現的本質是該插件會定期對RDS中的數據進行循環輪詢,從而在當前循環中找到上次插入或更改的記錄,然后批量查詢這些記錄并遷移至Elasticsearch。與DTS同步方案相比,該方案的實時性較差,存在秒級延遲。

  • 同步全量數據,接受秒級延遲的場景。

  • 批量查詢數據然后進行同步的場景。

  • 使用前,需要先在Logstash中上傳與RDS版本兼容的SQL JDBC驅動。

  • 需要在RDS的白名單中加入Logstash集群中節點的IP地址。

  • 需要確保Logstash和RDS在同一時區(避免同步過程中出現時間標記不符的情況)。

  • 需要確保Elasticsearch中的_id字段與RDS中的id字段相同。

  • 當您在RDS中插入或更新數據時,需要確保對應記錄有一個包含更新或插入時間的字段。

通過Logstash將RDS MySQL數據同步至Elasticsearch

DataWorks實現離線數據同步

DataWorks是一款提供數據集成、數據開發及數據質量等全方位的產品服務。支持引入并存儲關系型數據,然后進行轉化和開發,最后將處理后的數據同步到Elasticsearch或其他數據系統。

  • 大數據離線同步場景(可實現最快分鐘級的離線數據采集任務)。

  • 需要自定義查詢語句,以及多表聯合查詢后同步數據的場景。

  • 同步整個數據庫中數據的場景。

  • 需要開通DataWorks服務。

  • 對于傳輸速度要求較高或復雜環境中的數據源同步場景,需要自定義資源組。

  • 需要在RDS的白名單中添加資源組的IP地址。

通過DataWorks將MySQL數據同步至Elasticsearch

Canal實現MySQL數據同步

通過訂閱binlog的方式實現數據實時同步,在不影響源數據庫的情況下,同步延遲可降至毫秒級別。

對數據同步的實時性要求較高的場景。

  • 需要手動在ECS上搭建Canal環境,會增加操作成本。

  • Canal 1.1.4版本暫不支持Elasticsearch 7.x版本。建議使用Canal 1.1.5版本,或者通過其他方式(例如Logstash、DTS)實現MySQL數據同步。

  • 支持自定義索引Mapping,但需保證Mapping中定義的字段與MySQL中一致。

  • 需要您自行保證Canal的可用性,避免出現業務不可用或故障。例如:當出現ECS重啟,Canal異常退出等場景時如何繼續同步數據等。

通過Canal將MySQL數據同步到阿里云Elasticsearch