「PostgreSQL UDB用在大數據分析上,查詢效率更高。相比自建,其可靠性更高,方便運維維護。」算法
— 31會議運維經理 湯雷數據庫
如何用好PostgreSQL?安全
PostgreSQL是業內一款十分流行的開源數據庫,和MySQL、MongoDB等並列第一梯隊。架構
PostgreSQL支持多種表關聯算法,有豐富的統計函數和語法,面對多維度的複雜查詢和分析場景性能表現優異。而MySQL和MongoDB也各有亮眼特性和衆多擁躉。運維
客觀來講,這幾種數據庫各擅勝場,沒有必要簡單比較孰優孰劣,而是應該充分了解各自的特色,根據業務需求合理決策和巧妙搭配,從而得到最大化的效果。函數
UCloud用戶31會議的實踐案例,能夠幫助說明PostgreSQL在解決大數據量快速查詢上成功應用的法門。組件化
用戶場景性能
31會議是中國領先的場景營銷科技服務商,隸屬於上海八彥圖信息科技有限公司。經過運用互聯網、物聯網、AI、大數據和雲計算技術,並結合會議、展覽、活動等面對面營銷場景,其陸續推出了會議雲、展覽雲、營銷雲三大產品體系以及10個行業場景方案。其中,31會議雲和31會展雲做爲一站式數字會務SaaS雲平臺,經過組件化、集成化、流程化實現會展全流程智慧化。大數據
注:圖片來自31會議雲計算
能夠想見,SaaS化的會議平臺,內部模塊衆多且關聯緊密,對數據庫的需求呈現多樣化和精細化的特色,因此首要的是調研瞭解市面上可獲取的主流數據庫類型。UCloud能提供的UDB子類型以下表:
因爲用戶的業務特色,其對OLTP和OLAP都有重要的訴求,而截至目前累計服務30多萬家客戶、130多萬場會展的業務量,意味着數據庫的存儲量也很可觀。
通過審慎考慮,用戶同時選用三種數據庫,針對性的知足不一樣目標。
其中,PostgreSQL相比於MySQL在OLAP上的快速高效是其優點,也是用戶選型PostgreSQL的重要砝碼。在實際業務中,用戶利用PostgreSQL來處理單表500w條記錄規模的大數據量查詢,而且快速流暢的將結果流轉到下一業務環節。
自建集羣仍是PostgreSQL UDB?
如今須要面對的選擇,是利用雲主機本身搭建PostgreSQL集羣,仍是直接使用UCloud現成的PostgreSQL UDB產品?
PostgreSQL UDB具有高安全性和高可用性,並有備份建立、自動回檔等功能。數據層面來說,高可用主備和底層數據存儲,具有數據冗餘,能夠保證數據零丟失。
基於產品層面提供的這些要素,31會議選擇了使用PostgreSQL UDB產品。讓咱們感到欣慰的是,在該用戶使用PostgreSQL的一年多時間內,其實例沒有發生過一次故障,後臺對可靠性設計的機制抵禦住了各類意外情況,沒有影響用戶正常使用,幫助其免去了緊急排障的煩惱。
如何保證高可靠?
爲了充分保證可靠性,PostgreSQL UDB產品化方面作了多項工做,例如:
1. 自動回檔
這個功能是指,當用戶出現人爲誤操做形成數據刪除或者丟失時,只要以前7天的備份存在,就能夠利用「秒級回檔」功能將數據恢復到過去7天內的任意一秒,能夠說是爲用戶使用PostgreSQL產品提供了一顆「定心丸」。
除了回檔,用戶也可經過「建立從庫」功能來建立更多數據庫的副本,進一步增長數據的安全性。
2. 高可用部署,自動容災
PostgreSQL UDB爲確保服務的高可用性,採用主從複製架構,主數據庫提供服務的同時,有另外一套數據庫服務不斷同步數據並隨時待命, UDB後臺的自動容災模塊能夠在PostgreSQL實例服務出現問題時自動探測到,並自動容災,保證數據庫服務的穩定可靠。
實例切換時,容災模塊會把待命的備用PostgreSQL服務提高爲主庫,而且在原來主服務啓動以後回退到從庫。整個過程當中用戶不須要任何人工干預和配置修改,真正作到自動容災。
圖:PostgreSQL UDB自動容災示意圖
3. 熱升級,不停服在線擴容
PostgreSQL UDB可依據業務的須要,動態按需擴展數據庫資源。用戶只需在控制檯上進行幾回點擊,就能夠動態調整實例的內存和磁盤大小,知足不一樣業務階段對於數據庫性能和存儲空間的彈性需求。
PostgreSQL UDB 在資源擴容過程當中,數據庫服務能夠作到基本不停服,只有秒級的閃斷。這樣大大減小了數據庫擴容對於業務的影響時間,作到真正的「熱升級」。
目前, PostgreSQL UDB在北京、上海、廣州和香港等多地上線服務,具體部署狀況以下: