1.是什么
Tapdata 是一款國產的數據服務產品,旨在幫助企業打破多個數據孤島,可大幅度提高數據團隊工作效率。 主要專注於數據的遷移、轉換與發布,並提供實時性,基於數據庫日志的實時遷移或同步。
官網地址:https://tapdata.net/
2.為什么需要
- 是否有一個中央化數據存儲的地方供其他系統使用
- 數據散落在多個系統,難以重復利用
- 大量腳本、存儲過程和SQL重復開發
-
數據准備消耗了70%的工作量,僅剩下30%時間用於核心業務開發
3.能做什么
支持關系型數據庫和NoSql數據庫、ES等等之間的數據同步
- 遷移或同步過程中,需要對數據的結構做轉換、對指定的數據值做處理
- 數據傳輸:數據庫之間的同步、數據同步(表與表之間的同步)、數據同步之后的校驗數據准確性
- 數據發布:它可以在1分鍾內快速發布一個標准 Restful 的接口,供各個系統調用獲取數據
- 數據治理:主要是對同步之后的元數據管理工作,表結構、字段變更...
4.應用場景
- 將數據源A庫中的某張表或某幾個表中的字段合並后的數據、臟數據過濾插入到數據庫B中
- 像我們會在每晚定時執行一些業務處理,可能是統計、匯總、備份、計算等等,用工具就可以方便的多,寫代碼的話也可以實現,可能需要大量時間,而且質量也很難保證
-
實時更新緩存
業務查詢類服務往往會在Mysql之上架設一個緩存,減少對底層數據庫的訪問;當Mysql庫數據變化時,如果緩存還沒有過期那么就會拿到過期的數據,業務期望能夠實時更新緩存;
采用Redis數據節點來處理數據,這樣就能夠保證了緩存中數據有效性,減少了對數據庫的調用,從而提高整體性能。
-
異步處理,系統解耦
隨着業務的發展,同一份數據可能有不同的分析用途,數據成功寫入到Mysql的同時也需要被同步到其他系統;可以通過API發布供其他系統調用獲取數據
5.如何使用
文檔手冊地址:https://docs.tapdata.net/
語雀文檔地址:https://www.yuque.com/tapdata/cloud
6.個人使用總結
優點:
- 操作簡單,界面比較簡潔大氣
- 支持的數據源種類比較多(RDBMS、NoSql、ES)
- 通過一些節點處理器來操作復雜數據同步處理(JS節點、字段節點、聚合節點、過濾節點)
- 零代碼可視化拖拽操作,執行效率比較高效
- 實時的任務運行監控,可以看到各個節點之間的數據處理情況
缺點:
- 同一個任務里面不支持相同的數據表出現
- 拖拽操作簡單,復雜業務場景使用起來就比較繁瑣,各個節點的關系就要整理清楚
- 不支持SQL語句執行,如果能夠將SQL聯合起來那種就更加方便了,就沒那么繁瑣了(類比kettle)
- Mongodb到ES的數據同步,會有一個先刪后增的操作,導致ES的索引存儲大小不斷變大
- 數據同步的中間表相對較多,對我們業務用處不大的數據表存在,比較冗余