摘要:經(jīng)過對比選型,用戶同時選用三種數(shù)據(jù)庫來針對性的滿足不同目標。基于能夠帶來的這些特性優(yōu)勢,用戶選擇了。相比自建,其可靠性更高,方便運維維護。整個過程中用戶不需要任何人工干預(yù)和配置修改,真正做到自動容災(zāi)。
據(jù)DB-Engines 最新發(fā)布的2019年8月份數(shù)據(jù)庫流行度排行榜(如下圖)顯示,名列前茅的MySQL和PostgreSQL數(shù)據(jù)庫的流行趨勢與去年同期相比依然穩(wěn)增不減。
作為使用最為廣泛的開源數(shù)據(jù)庫,MySQL聲稱自己是最流行的開源數(shù)據(jù)庫,PostgreSQL也標榜自己是世界上最先進的開源數(shù)據(jù)庫,雖然二者在功能特性上確實各有所長,但在實際的業(yè)務(wù)場景中很多用戶往往一時間難以抉擇。
接下來將介紹31會議在大數(shù)據(jù)量快速查詢場景下,面對MySQL和PostgreSQL數(shù)據(jù)庫的雙重拷問時是如何進行最終選型落地以及數(shù)據(jù)庫高可靠性背后的技術(shù)實現(xiàn)。
用戶場景
31會議是中國領(lǐng)先的場景營銷科技服務(wù)商,通過運用互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、AI、大數(shù)據(jù)和云計算技術(shù),并結(jié)合會議、展覽、活動等面對面營銷場景,其陸續(xù)推出了會議云、展覽云、營銷云。其中,31會議云和31會展云作為一站式數(shù)字會務(wù)SaaS云平臺,通過組件化、集成化、流程化實現(xiàn)會展全流程智慧化。
注:圖片來自31會議
PostgreSQL or MySQL?
作為SaaS化的會議平臺,內(nèi)部模塊眾多且關(guān)聯(lián)緊密,對數(shù)據(jù)庫的需求呈現(xiàn)多樣化和精細化的特點,所以31會議首調(diào)研了UCloud提供的主流數(shù)據(jù)庫類型,UDB子類型如下表:
截至目前,31會議累計服務(wù)30多萬家客戶、130多萬場會展的業(yè)務(wù)量,因此對數(shù)據(jù)庫的存儲需求量較大。且會議營銷SaaS業(yè)務(wù)的實時性以及事務(wù)處理復(fù)雜性對OLTP和OLAP也都有著較高的要求。經(jīng)過對比選型,用戶同時選用三種數(shù)據(jù)庫來針對性的滿足不同目標。
由于PostgreSQL支持多種表關(guān)聯(lián)算法,有豐富的統(tǒng)計函數(shù)和語法,面對多維度的復(fù)雜查詢和分析場景性能表現(xiàn)優(yōu)異,因此PostgreSQL相比于MySQL在OLAP上的快速高效是其優(yōu)勢, 31會議最終選擇了PostgreSQL。例如:在實際業(yè)務(wù)中,用戶利用PostgreSQL來處理單表500w條記錄規(guī)模的大數(shù)據(jù)量查詢,并且快速流暢的將結(jié)果流轉(zhuǎn)到下一業(yè)務(wù)環(huán)節(jié)。
自建集群還是PostgreSQL UDB?
除了要解決上述不同數(shù)據(jù)庫版本的選型問題之外,用戶還需要面臨的選擇,是利用云主機自己搭建PostgreSQL集群,還是直接使用UCloud現(xiàn)成的PostgreSQL UDB產(chǎn)品?
傳統(tǒng)的自建數(shù)據(jù)庫方式,需要在前期投入大量的軟硬件投入成本和運維維護成本,且部署周期較長,實際的資源利用率較低。而選擇PostgreSQL UDB產(chǎn)品,不僅能節(jié)省資源人力成本,而且支持彈性擴縮容以及按需計費;在安全性和可靠性上更有保障,具備備份創(chuàng)建、自動回檔等功能。另外從數(shù)據(jù)層面來講,高可用主備和底層數(shù)據(jù)存儲,具備數(shù)據(jù)冗余特性,可以保證數(shù)據(jù)零丟失。
基于PostgreSQL UDB能夠帶來的這些特性優(yōu)勢,用戶選擇了PostgreSQL UDB。且經(jīng)過時間證明,用戶在使用PostgreSQL的一年多時間內(nèi),其實例沒有發(fā)生過一次故障,后臺對可靠性設(shè)計的機制抵御住了各種意外狀況,沒有影響用戶正常使用,幫助其免去了緊急排障的煩惱。
正如31會議運維經(jīng)理湯雷評價說:“PostgreSQL UDB用在大數(shù)據(jù)分析上,查詢效率更高。相比自建,其可靠性更高,方便運維維護?!?/p>
如何保證高可靠?
為了充分保證PostgreSQL UDB產(chǎn)品的可靠性,UCloud數(shù)據(jù)庫團隊在功能方面做了很多優(yōu)化工作,例如:
1.自動回檔
這個功能是指,當用戶出現(xiàn)人為誤操作造成數(shù)據(jù)刪除或者丟失時,只要之前7天的備份存在,就可以利用“秒級回檔”功能將數(shù)據(jù)恢復(fù)到過去7天內(nèi)的任意一秒,可以說是為用戶使用PostgreSQL產(chǎn)品提供了一顆“定心丸”。
除了回檔,用戶也可通過“創(chuàng)建從庫”功能來創(chuàng)建更多數(shù)據(jù)庫的副本,進一步增加數(shù)據(jù)的安全性。
2.高可用部署,自動容災(zāi)
PostgreSQL UDB為確保服務(wù)的高可用性,采用主從復(fù)制架構(gòu),主數(shù)據(jù)庫提供服務(wù)的同時,有另一套數(shù)據(jù)庫服務(wù)不斷同步數(shù)據(jù)并隨時待命, UDB后臺的自動容災(zāi)模塊可以在PostgreSQL實例服務(wù)出現(xiàn)問題時自動探測到,并自動容災(zāi),保證數(shù)據(jù)庫服務(wù)的穩(wěn)定可靠。
實例切換時,容災(zāi)模塊會把待命的備用PostgreSQL服務(wù)提升為主庫,并且在原來主服務(wù)啟動之后回退到從庫。整個過程中用戶不需要任何人工干預(yù)和配置修改,真正做到自動容災(zāi)。
圖:PostgreSQL UDB自動容災(zāi)示意圖
3.熱升級,不停服在線擴容
PostgreSQL UDB可依據(jù)業(yè)務(wù)的需要,動態(tài)按需擴展數(shù)據(jù)庫資源。用戶只需在控制臺上進行幾次點擊,就可以動態(tài)調(diào)整實例的內(nèi)存和磁盤大小,滿足不同業(yè)務(wù)階段對于數(shù)據(jù)庫性能和存儲空間的彈性需求。
PostgreSQL UDB 在資源擴容過程中,數(shù)據(jù)庫服務(wù)可以做到基本不停服,只有秒級的閃斷。這樣大大減少了數(shù)據(jù)庫擴容對于業(yè)務(wù)的影響時間,做到真正的“熱升級”。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/76137.html
閱讀 2249·2021-11-15 11:36
閱讀 1668·2021-09-23 11:55
閱讀 2556·2021-09-22 15:16
閱讀 2088·2019-08-30 15:45
閱讀 1933·2019-08-29 11:10
閱讀 1088·2019-08-26 13:40
閱讀 981·2019-08-26 10:44
閱讀 3231·2019-08-23 14:55