中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

POSTGRESQL邏輯復制與CDC捕捉如何構建實時數據分析平臺

發布時間:2021-12-13 11:18:22 來源:億速云 閱讀:201 作者:小新 欄目:大數據

這篇文章主要介紹POSTGRESQL邏輯復制與CDC捕捉如何構建實時數據分析平臺,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

大部分數據庫都提供CDC 的功能, change data capture, DB的同學可能要問,為什么要這個功能, ORACLE 有DG 數據復制, SQL SERVER 有replication  , MYSQL 有 binlog 復制, PG 邏輯,物理復制都有,CDC是不是多余的.

答案是NO , CDC 是跟蹤數據庫操作的一種方式,也是不少類似獲取數據庫變化時的一種方式, 更多的是對于某些數據獲取后,可以進行一些后續性的觸發性或判斷性的操作.

更重要的是CDC 對于系統的更改會比較少,并且不會太大影響數據庫的性能.

實際上也有其他的方式來進行數據同步,例如有些數據庫的binlog 和 trigger 都可以對數據庫的數據進行捕捉和記錄.

這里選擇的方法是POSTGRESQL 的邏輯復制+ 2nd 的audit-trigger的方式.

PostgreSQL 本身支持物理復制,同時也支持邏輯復制,這里通過邏輯復制的方式來講表的DML 操作進行一個可視化的操作和可提取的操作.

首先需要對需要進行CDC 的POSTGRESQL 的配置進行相關的設置

1 需要打開POSTGRESQL 的邏輯復制

POSTGRESQL邏輯復制與CDC捕捉如何構建實時數據分析平臺

2 在修改后我們需要對服務器進行重新啟動

POSTGRESQL邏輯復制與CDC捕捉如何構建實時數據分析平臺

針對要復制的表創建 publication

create publication cdc for table test1;

同時需要創建具有讀取test1 表權限的賬號,并且也具有replication 的權限,當然如果你想偷懶 SUPERUSER 可以作為測試時的一個選擇.

然后需要在接受數據的"從庫",創建和主庫對應的庫和表結構

POSTGRESQL邏輯復制與CDC捕捉如何構建實時數據分析平臺

CREATE SUBSCRIPTION cdc CONNECTION   'dbname=test host=192.168.198.100   user=admin password=1234.com port=5432' PUBLICATION cdc;

POSTGRESQL邏輯復制與CDC捕捉如何構建實時數據分析平臺

創建相關的subscription 在接收信息的數據庫中.

可以看到數據已經從數據publication 到了 subscription

POSTGRESQL邏輯復制與CDC捕捉如何構建實時數據分析平臺

這里需要注意publication 和 subscription 的表的結構必須是一致的,否則會出現問題.

后面需要安裝 2ndQuadrant   audit 組件, 下載這個組件并將其安裝在數據接收端.

POSTGRESQL邏輯復制與CDC捕捉如何構建實時數據分析平臺

在安裝中可能會出現問題,下圖是未安裝 hstore,所以安裝audit.sql出現問題

POSTGRESQL邏輯復制與CDC捕捉如何構建實時數據分析平臺

在執行完  \i /home/postgres/audit.sql  后

POSTGRESQL邏輯復制與CDC捕捉如何構建實時數據分析平臺

安裝完畢后,直接在主庫刪除一條數據

POSTGRESQL邏輯復制與CDC捕捉如何構建實時數據分析平臺

那么在從庫直接查看相關的audit.logged_actions 中是否有這條記錄

POSTGRESQL邏輯復制與CDC捕捉如何構建實時數據分析平臺

基本上可以通過這樣的數據記錄配合其他程序來獲取PG某張表的數據變動的情況,輔助自研的程序去捕捉這張表中的數據對需要同步數據到其他數據庫,提供了一種方式.

實際上這里主要應用的是PG 的邏輯復制,邏輯復制相對于PG的物理復制要靈活,例如數據的聚合

POSTGRESQL邏輯復制與CDC捕捉如何構建實時數據分析平臺

實際上這個方式稍加利用就可以成為一個以PG數據庫為基礎的整體的數據匯聚和數據分發的平臺.

首先通過PG 本身的邏輯復制,將需要在多個數據庫系統(一般是不同業務系統的數據庫)將這些需要數據分析的表進行邏輯復制到PG 匯聚的機器上,然后產生CDC的數據,通過程序二次開發的方式將這些數據任意存儲到其他的數據庫或大數據平臺,這樣的好處也是顯而易見,由于現在ETL抽取數據時,大部分的ETL支持軟件(實時數據)的軟件并不是太多并且基本沒有免費的,這樣做基本上就可以支持一個業務實時數據分析的需求. 相對于其他數據庫來說, 整體利用PG來搭建和完成這項工作要簡單,省錢的多. 并且整體的架構也不是很復雜.

以上是“POSTGRESQL邏輯復制與CDC捕捉如何構建實時數據分析平臺”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

吉木萨尔县| 吉林省| 天水市| 兴仁县| 达尔| 会同县| 泸西县| 南丹县| 全州县| 故城县| 五华县| 柳林县| 云梦县| 哈密市| 如皋市| 正安县| 南涧| 胶州市| 田林县| 辛集市| 开鲁县| 荣成市| 竹山县| 扶沟县| 利川市| 广昌县| 铁岭县| 黄浦区| 富裕县| 大石桥市| 邯郸县| 西安市| 榕江县| 金溪县| 淮北市| 通州区| 高雄县| 双流县| 准格尔旗| 灵武市| 固始县|