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

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