當您在使用PolarDB-X(DRDS),需要進行全文檢索和語義分析時,可將PolarDB-X中的數據同步至阿里云Elasticsearch進行查詢分析。阿里云Elasticsearch是一個基于Lucene的實時分布式的搜索與分析引擎,可近乎于準實時地存儲、查詢和分析超大數據集。您可以通過Logstash和DataWorks兩種方式將PolarDB-X中的數據同步至阿里云Elasticsearch。本文介紹各同步方案適用的場景,幫助您根據業務選擇合適的方案同步數據。

同步方案 原理說明 適用場景 使用限制 相關文檔
Logstash JDBC數據同步 通過logstash-input-jdbc插件實現通過Logstash批量查詢PolarDB-X中的數據,并將數據遷移到Elasticsearch。實現的本質是該插件會定期對PolarDB-X中的數據進行循環輪詢,從而在當前循環中找到上次插入或更改的記錄,然后批量查詢這些記錄并遷移至Elasticsearch。
  • 同步全量數據,接受秒級延遲的場景。
  • 批量查詢數據然后進行同步的場景。
  • 使用前,需要先在Logstash中上傳與PolarDB-X版本兼容的SQL JDBC驅動。
  • 需要在PolarDB-X的白名單中加入Logstash集群中節點的IP地址。
  • 需要確保Logstash和PolarDB-X實例在同一時區(避免同步過程中出現時間標記不符的情況)。
  • 需要確保Elasticsearch中的_id字段與PolarDB-X中的_id字段相同。
  • 當您在PolarDB-X中插入或更新數據時,需要確保對應記錄有一個包含更新或插入時間的字段。
通過Logstash將PolarDB-X(DRDS)數據同步至Elasticsearch
DataWorks實現離線數據同步 DataWorks是一款提供數據集成、數據開發及數據質量等全方位的產品服務。支持引入并存儲關系型數據,然后進行轉化和開發,最后將處理后的數據同步到Elasticsearch或其他數據系統。
  • 大數據離線同步場景(可實現最快5分鐘一次的離線數據采集任務)。
  • 需要自定義查詢語句,以及多表聯合查詢后同步數據的場景。
  • 同步整個數據庫中數據的場景。
  • 需要開通DataWorks服務。
  • 對于傳輸速度要求較高或復雜環境中的數據源同步場景,需要自定義資源組。
  • 需要在PolarDB-X的白名單中添加資源組的IP地址。
通過DataWorks將PolarDB-X(DRDS)數據離線同步至Elasticsearch