即時同步(增量資料)

由上圖所示,增量資料一共有兩部分(DB更新的和API推送的),新資料從源到opensearch一共有3個步驟:
1.使用者更新DB(通過DTS服務訂閱資料庫的binlog實現)或者調用API介面將資料推送到OpenSearch離線,此時主+輔表有1500tps的限制
2. 當資料抵達離線後,會將增量資料更新到已有的大寬表中,此時由於主輔表為N:1的關係,輔表更新一條資料可能會觸發主表的多條資料更新,當輔表更新觸發主表更新tps觸發量>=1000tps時,為保證主表的時效性,會將輔表的更新量限速【註:多表join引發的資料同步延遲可點擊此處進行查看】
3. 離線將帶有中繼資料資訊的資料寫入到引擎(註:加入中繼資料後,資料可能會膨脹2-3倍),此時為保護引擎,寫入量最大為10M/s
指標如下:
階段 | 相關限制 | 備忘 |
源->離線主輔表一起的tps。不加trigger | 1500 | |
即時增量資料從離線寫入引擎 | 10MB | 加入中繼資料 |
輔表更新觸發主表更新tps | 1000 |
同步異常排查
當資料來源無法同步時,按以下步驟排查:
控制台檢查
查看同步延遲:前往CloudMonitor控制台,在指標和事件中心中找到OpenSearch(OpenSearch)的應用即時處理延遲(
app_realtime_write_latency)指標,單位為 ms,可判斷主表的同步延遲情況。檢查 DTS 同步狀態:前往 DTS 控制台查看資料同步任務列表,確認運行狀態和運行階段資訊(庫表結構同步/全量同步/增量同步處理)。
檢查儲存使用:在 OpenSearch 控制台的執行個體管理頁面查看儲存使用(G)列,儲存滿會導致自動同步停止。
資料驗證
主鍵資料比對:通過主索引值分別在資料庫和 OpenSearch 中查詢,比對結果是否一致。
配置一致性確認:在 OpenSearch 執行個體設定精靈的 Step3 資料來源頁面,確認 RDS 執行個體 ID、資料庫、表名與 DTS 訂閱配置一致。
字元集檢查:DTS 不支援 utf8mb3 字元集,需使用 utf8mb4。
恢複操作
重建索引:儲存滿時需重建索引並全量匯入。具體操作可參考 DTS 即時同步文檔和資料來源配置文檔。