openGauss技術(shù)委員會主席田文罡接受采訪
openGauss開源數(shù)據(jù)庫之路
openGauss技術(shù)委員會主席田文罡在采訪中表示,作為一款企業(yè)級開源數(shù)據(jù)庫,openGauss的主要優(yōu)勢在于高性能和備機可用性。
田總在2020數(shù)據(jù)技術(shù)嘉年華的演講中列出的openGauss演進特性
“性能不是萬能的(解決一切問題),但沒有性能也萬萬不能?!碧嵘阅芸梢越档筒少徲布某杀尽2糠謱崟r類場景對性能有嚴苛要求,海量數(shù)據(jù)處理復雜性也需要性能。
openGauss內(nèi)核基于PostgreSQL進行了大量優(yōu)化。在架構(gòu)層面PostgreSQL是多進程架構(gòu),為了提高并發(fā)度,openGauss將其進一步優(yōu)化成了多線程架構(gòu)。
PostgreSQL主要關(guān)注行存(支持交易型業(yè)務),openGauss后期進一步增加了列存(支持分析型業(yè)務)和內(nèi)存(支持高性能計算)引擎。
如上圖我們可以看到openGauss將在今年12月份的發(fā)布計劃中加入了4路鯤鵬優(yōu)化,通過鯤鵬芯片的應用來提升性能,尤其針對鯤鵬ARM服務器做了更多垂直的優(yōu)化整合,可以說openGauss對ARM芯片支持更優(yōu)。
此外,眾核時代已至,但不同CPU的核訪問時延和帶寬不同,openGauss開源數(shù)據(jù)庫還針對多核情況進行了性能優(yōu)化,利用數(shù)據(jù)分區(qū)、XLOG并行化等方式來提高數(shù)據(jù)庫性能。
在備機可用性上,支持1主8備,備機可讀。并且對日志進行了流水線和管道化處理,在并行恢復上,日志流水線完全并行處理,極大的提高了可用性,10秒內(nèi)就可以完成備機到主機的切換。在長期演進上,openGauss數(shù)據(jù)庫后續(xù)會采用Raft協(xié)議,確保一機多備情況下副本之間的強一致性。
openGauss后續(xù)演進方向
openGauss通過與AI引擎的結(jié)合,讓它具備一定的自運維、自管理、自調(diào)優(yōu)、故障自診斷和自愈的能力。田總在提到開源數(shù)據(jù)庫的后續(xù)演進方向說到了兩方面—— AI for DB和DB for AI,目前openGauss數(shù)據(jù)庫在做的參數(shù)調(diào)優(yōu),自動索引推薦等能力都是AI for DB。小編比較關(guān)注的是DB for AI。
我們知道AI模型需要對數(shù)據(jù)進行訓練然后再應用。一般大家是從數(shù)據(jù)庫里抽取數(shù)據(jù)放入AI模型中訓練,需要搭建系統(tǒng)和組件,而且還涉及海量數(shù)據(jù)反復傳輸,極為不便。未來數(shù)據(jù)庫會將AI算法內(nèi)置到數(shù)據(jù)庫中,直接在數(shù)據(jù)庫中進行AI模型訓練,在這方面,目前openGauss內(nèi)部有很多組件正在開發(fā)中。
另一個關(guān)注方向就是新硬件的出現(xiàn)是否會為數(shù)據(jù)庫帶來革命性變化。以前數(shù)據(jù)庫主要針對磁盤進行優(yōu)化,平衡磁盤訪問,圍繞存儲硬件進行設計和打造。存儲性能很大程度直接決定數(shù)據(jù)庫性能。通常數(shù)據(jù)庫是塊結(jié)構(gòu),1頁8K,尋址單位是塊存儲(邏輯塊尋址模式),但NVM介質(zhì)的尋址方式是字節(jié)尋址。未來整個設計是否會轉(zhuǎn)向以NVM為中心的新數(shù)據(jù)庫,也是openGauss未來探索的一個大的方向。
總結(jié)
華為始終秉持“硬件開放、軟件開源、使能伙伴“的整體發(fā)展戰(zhàn)略,支持伙伴基于openGauss打造自有品牌的數(shù)據(jù)庫商業(yè)發(fā)行版,支持伙伴持續(xù)構(gòu)建商業(yè)競爭力。希望越來越多的貢獻者加入openGauss社區(qū),共同打造一個開源開放的數(shù)據(jù)庫社區(qū),把企業(yè)級的數(shù)據(jù)庫能力帶給用戶。