您好,登錄后才能下訂單哦!
云數據庫 PostgreSQL 是京東云基于開源的 PostgreSQL 10.6 版本構建的一款功能強大的企業級關系型數據庫管理系統。
PostgreSQL有“世界上可獲得的最先進的開源數據庫”之稱,在過去20年的飛速發展中,該數據庫已經廣泛應用在GIS場景。如:移動應用、物流應用、金融數據分析等各個行業,逐漸成為企業首選商業級數據庫。
云數據庫可幫助您輕松在云端進行部署、操作、管理和擴展PostgreSQL,省去絕大部分復雜而繁瑣的管理工作,更專注于業務流程的開發與建設。
云數據庫PostgreSQL相比于傳統關系型數據庫,具有以下優勢:
支持多種編程語言編寫存儲過程和函數,可支持主流開發語言包括 C/C++/Perl/Python/Java/JavaScript/PHP 等,支持廣泛的數據類型包括幾何類型、網絡地址類型、JSON類型等。更允許用戶按業務需求自定義數據類型,并可靈活配置和操作。
提供圖形界面化的管理工具和非界面化的命令行查詢工具,無論您是想通過腳本控制,還是通過控制臺圖形化工具操作,PostgreSQL都能滿足您的需求。同時,PostgreSQL還提供一款可以整合其他數據庫的管理工具,可實現多數據庫之間的數據連接和遷移。
支持標準的SQL查詢語句,支持PostGIS空間類型,支持GIS幾何數據類型、范圍類型、IP類型,可滿足基于地理位置的空間查詢、空間索引、空間分析。
云數據庫PostgreSQL整體架構圖:
Service:
業務邏輯層,負責處理一些業務邏輯
UC:
用戶中心
Orde:
訂單系統
Trade:
交易系統
Sentinel:
哨兵服務,監聽實例存活情況等其他職責
Manager:
管理服務,執行具體的創建實例,刪除實例等其他職責
Container:
計算服務,運行云數據庫 PostgreSQL 實例
SDN:
SDN網絡服務
OSS:
京東云對象存儲服務
JMonitor:
監控服務
云數據庫PostgreSQL作為一個合格的數據存儲服務,核心滿足服務高可用性和數據高可用性。
京東云云數據庫 PostgreSQL 采用的是本地盤的數據存儲方式,所以為了保證服務的高可用性,那么必須采用集群的方式來部署云數據庫 PostgreSQL 服務。
PostgreSQL 的集群方式可以是一主一從,一主兩從,或者一主多從,PostgreSQL 把從稱之為:Hot Standby。京東云云數據庫 PostgreSQL采用一主一從模式,保證了服務高可用性的同時,將成本降至最低。
PostgreSQL和MySQL 一樣,將主從同步方式分為全同步、半同步、異步三種方式,考慮性能和數據一致性兩大因素,選擇半同步方式。
PostgreSQL 從 9.0 版本開始,主從的數據同步方式(同步WAL日志)支持以下兩種:
異步流復制: 事務提交之后不必等日志傳遞到 standby 就即可返回,從實例數據有一定的延遲。
同步流復制: 當主實例事務提交之后,一定會等到日志傳遞到 standby后才返回,可以做到數據零丟失。
由于京東云云數據庫 PostgreSQL 集群采用的是一主一從架構,如果數據同步方式采用同步流復制,那么當 standby 不可用的時候,會導致無法正常的往 PostgreSQL 集群中寫數據。所以為了確保集群的高可用性,京東云云數據庫 PostgreSQL 采用的主從數據同步方式為:異步流復制。
同時,京東云云數據庫 PostgreSQL 集群是跨機架跨物理機部署的,如果創建的時候選擇了跨可用區的話,集群的主從實例還能分別部署在兩個不用的可用區。在這樣的部署架構下,集群中的主從實例同時不可用的概率極低。
自動高可用 —來看下京東云云數據庫 PostgreSQL 是如何實現自動高可用的:
京東云云數據庫 PostgreSQL 集群包括了主從兩個實例,即上圖的 Master 和 Slave 。 Master 和 Slave 會定時上報心跳信息給 Sentinel 服務,匯報自己的存活情況;當 Slave 長時間未上報心跳信息, Sentinel 會認為此時 Slave 已經不可用了,這時 Sentinel 就會觸發自動高可用的命令,告訴 Manager 需要新建一個從實例,即上圖的 Slave 。 Slave 會根據一個最近的全量備份進行創建,當創建成功之后,會設置與 Master 的主從關系,從 Master 同步增量的數據。
京東云云數據庫 PostgreSQL 提供了自動備份服務,實例每天會定時的備份一次,同時在此期間產生的所有 WAL* 日志,都會同步到京東云 OSS 服務(OSS 中的數據是三副本存儲的)中。
針對云數據庫 PostgreSQL 的自動備份,我們采用了官方提供的 pg_baseBackup*命令行工具,定時的在從實例上進行全量數據備份操作,并實時將數據同步到京東云 OSS 服務中,確保了備份操作不會影響用戶對主實例的操作。
除了會定時進行全量備份外,針對增量的數據WAL日志,我們也做了同步處理,將日志實時同步到京東云 OSS 服務中。基于這種機制,京東云云數據庫 PostgreSQL 允許根據時間點(從當前時間往前推 7 天內的任意時間點)創建新的實例。
自動全量備份 —來看下京東云云數據庫 PostgreSQL 是如何實現自動全量備份的:
京東云云數據庫 PostgreSQL 支持自定義每天全量備份的執行時間。在進行全量備份的過程中,為了不影響正常的業務使用,京東云云數據庫 PostgreSQL 的全量備份基于 Slave 實例,并將備份文件實時的上傳到京東云 OSS 上。
PostgreSQL由于其強大的數據類型支持及出色的函數擴展及兼容能力,在企業級商用數據庫和GIS場景中有廣泛的應用,,以下列舉幾個簡單場景。
商用數據庫要求高可用、高可靠,往往業務邏輯復雜多變,尤其在金融行業如交易系統、財務系統等涉及到資金流轉、客戶信息管理等,要求數據不能丟失且實時同步。PostgreSQL可保證數據一致的前提下提供高可用性和高可靠性,靈活的數據類型配置可通過簡單的編程語句實現復雜邏輯的業務操作。
物流行業快遞的配送和攬件算法關系到快遞配送或攬件的時效,直接關系到物流公司的運作成本。寄件場景如寄件和攬件同時發生如何根據快遞員所在位置調度,貨物從終點倉庫到網點的物流調度路徑問題均是基于地理信息幾何數據關系復雜計算的。PostgreSOL支持GIS幾何類型和PostGIS插件,可解決基于位置信息的最短路徑問題。
移動互聯網發展離不開地理位置信息的存儲、查詢和計算。應用場景如基于LBS應用如大型游戲、需要支持世界地圖、O2O附件商家距離計算、訂單配送等問題,基于用戶所在商場地理位置商家推薦等。PostgreSQL支持SQL運行位置查詢,不需要編寫復雜的代碼即可實現,提高基于LBS存儲與計算效率。
云數據庫 PostgreSQL 是京東云數據庫團隊歷時1年多的研發產品,此產品凝聚了京東云數據庫團隊多年PostgreSQL使用經驗,提供一個穩定、可靠的數據存儲服務。
云數據庫 PostgreSQL 易于部署、管理和擴展,默認支持主從熱備架構,提供數據備份、故障恢復、監控等全套解決方案,徹底解決數據庫運維的煩惱。
同時,京東云數據庫 PostgreSQL 通過使用網絡隔離、使用白名單限制外網訪問等方式,為數據庫服務提供了高級別的安全性需求,助您省去絕大部分復雜而繁瑣的管理工作,更專注于業務流程的開發與建設。
點擊" 京東云 "了解更多詳情
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。