國產(chǎn)數(shù)據(jù)庫未來將如何發(fā)展?
時間:2023-03-13 06:22:01 | 來源:電子商務(wù)
時間:2023-03-13 06:22:01 來源:電子商務(wù)
當(dāng)下,國產(chǎn)數(shù)據(jù)庫的發(fā)展之路從探索逐漸到百花齊放,在愈演愈烈的形勢下,國產(chǎn)數(shù)據(jù)庫替代之路再次置于風(fēng)口,究竟國產(chǎn)化之路發(fā)展如何?
《對話 ACE》首期活動便以當(dāng)下數(shù)據(jù)庫局勢為背景,邀請到 OceanBase CTO 楊傳輝,Oracle MySQL ACE Director、萬里數(shù)據(jù)庫開源生態(tài)負(fù)責(zé)人葉金榮,共同探索
“國產(chǎn)數(shù)據(jù)庫替代與發(fā)展之路”,以此推動國產(chǎn)數(shù)據(jù)庫技術(shù)、人才及生態(tài)建設(shè)的發(fā)展。(* 戳下方視頻看完整精彩回放~ )
國產(chǎn)數(shù)據(jù)庫未來將如何發(fā)展?https://www.zhihu.com/video/1501970411939790849直播干貨滿滿沒時間看視頻沒關(guān)系!小編對直播的內(nèi)容也進(jìn)行了匯總分享,歡迎大家閱讀、收藏!
Q:在海外,分布式數(shù)據(jù)庫是否有應(yīng)用場景?主攻方向是怎樣的?A:楊傳輝:大家認(rèn)為分布式數(shù)據(jù)庫到底是一個高鐵,還是一個電動車?假設(shè)經(jīng)典的數(shù)據(jù)庫是一個燃油車,那么我聽到兩種觀點。一種觀點,分布式數(shù)據(jù)庫主要應(yīng)用在一些規(guī)模比較大的客戶,由于中國人數(shù)較多,那我就需要高鐵。那如果人口比較少,比如說很多歐洲國家,是不是就不需要分布式數(shù)據(jù)庫?另外一個觀點,認(rèn)為分布式是一個電動車。對于 OceanBase 來說,我們是認(rèn)同第二種觀點的。
今天的分布式數(shù)據(jù)庫,它跟集中式數(shù)據(jù)庫,其實有點像電動車跟燃油車的關(guān)系。十幾年前 OceanBase 就開始自研打造分布式數(shù)據(jù)庫。早期其實是搭建了一套分布式架構(gòu),可以比喻成先把電動車的引擎做好了,但是它的外殼裝飾都還是有待完善的。后來,OceanBase 慢慢過渡到 1.x、2.x、3.x 等版本,逐步具備了類似整車的功能,已經(jīng)能夠應(yīng)用在像工行、建行等數(shù)據(jù)體量特別大的一些企業(yè)。再之后,OceanBase 研發(fā)的分布式數(shù)據(jù)庫技術(shù)越來越像是特斯拉研制的 Model 3,性價比很高,同時可以應(yīng)用在經(jīng)典數(shù)據(jù)庫適合的中小企業(yè),例如一些單機(jī)場景。
OceanBase 的設(shè)計理念是一體化的原生分布式數(shù)據(jù)庫,希望一方面能有分布式的可擴(kuò)展,高可用的能力;另一方面,具備對標(biāo)集中式數(shù)據(jù)庫的單機(jī)功能和性能。在小規(guī)模場景下,單機(jī)性能和集中式數(shù)據(jù)庫基本相當(dāng)。即便是中小企業(yè),同樣也希望能夠快速發(fā)展,未來甚至成為大企業(yè)。只要企業(yè)有快速發(fā)展的訴求,他就可以選擇 OceanBase 這樣的原生分布式數(shù)據(jù)庫。
原理很簡單,分布式數(shù)據(jù)庫可以解決企業(yè)未來幾年的快速發(fā)展的需求。而且在單機(jī)模式下,新技術(shù)能做到比 MySQL Oracle 更低成本的,性價比更高。這樣實現(xiàn)了一個真正的便利,好比實現(xiàn)高鐵的技術(shù),但成本比汽車還要低。
Q:分布式架構(gòu)如何實現(xiàn)在單機(jī)上使用,且性價比很高?A:楊傳輝:今天主流的一些分布式數(shù)據(jù)庫,以前是NoSQL,慢慢到NewSQL,這些產(chǎn)品的功能和性能往往離集中式數(shù)據(jù)庫有很大的差距。例如,很多 NoSQL/NewSQL 系統(tǒng)的單機(jī)性能不到 MySQL 的二分之一甚至三分之一。這就使得很多人把分布式與集中式對立起來。然而,OceanBase 堅持一體化的技術(shù)理念,追求單機(jī)性能和功能兼容性。OceanBase 從 3.X 版本開始,單機(jī)跑Sysbench TPCC 這樣的 workload,性能和 MySQL 5.7 版本是基本相當(dāng)?shù)?。而且用了在線壓縮以后,存儲成本大幅低于 MySQL。
OceanBase 今天應(yīng)用在螞蟻集團(tuán)的所有業(yè)務(wù)場景中,最終的存儲成本只有 MySQL Oracle 的三分之一左右。同時,我們也希望將這些技術(shù)應(yīng)用到中小企業(yè)中去。OceanBase 本身就是一個自研的分布式數(shù)據(jù)庫,只有堅持將單機(jī)性能功能做到最好,它才能變成是一個電動車,才會有越來越多的用戶去使用,像以前的 MySQL.Oracle 一樣,實現(xiàn)讓百萬級用戶去使用,最終變成所有人都能夠簡單使用的通用數(shù)據(jù)庫。
所以從這個角度來看,一是說不用把分布式跟集中式完全對立起來看待。另外,中國有一個優(yōu)勢在于人多,像雙十一這樣的活動,能夠把高并發(fā)、可擴(kuò)展等一些底層的技術(shù)打磨成熟。在這些能力上,尤其在海量數(shù)據(jù)處理的能力上,中國還是比較領(lǐng)先的。海外也會有和國內(nèi)類似的業(yè)務(wù)場景,這類場景同樣會選擇中國最優(yōu)秀的分布式數(shù)據(jù)庫。本質(zhì)上還是產(chǎn)品和技術(shù)做的如何,通用的技術(shù)沒有國界。
Q:OceanBase 的海外業(yè)務(wù)目前進(jìn)展如何?A:楊傳輝:海外目前處于一個摸索的階段。OceanBase 由于十幾年的技術(shù)積累,穩(wěn)定支撐雙十一,再加上背靠集團(tuán),所以在海外有一些優(yōu)勢。例如,東南亞很多國家都有類似支付寶的錢包應(yīng)用,這些錢包背后的核心系統(tǒng)背后都采用了 OceanBase。包括印度版的支付寶 Paytm,底層的交易、支付、賬務(wù)等業(yè)務(wù)都是 OceanBase 在支撐的。除了東南亞之外,我們也通過云平臺,逐漸覆蓋其它國家的一些客戶。
Q:作為一個數(shù)據(jù)庫研發(fā)從業(yè)者,如何看 Oracle 暫停俄羅斯業(yè)務(wù)?A:楊傳輝:這個事件,從數(shù)據(jù)庫的角度來講,他一定會更快的加速我們國家自研數(shù)據(jù)庫的一個發(fā)展,OceanBase 在 2021 年的 6 月 1 號,把大概300萬行的核心代碼完全開源。截至目前,我們開源社區(qū)的活躍程度已達(dá)到國際頂級開源項目的三年左右的水平。當(dāng)然,未來還有很大的提升空間。
從技術(shù)趨勢的角度來看,這件事情沒有那么悲觀,為什么?以前的時候大家都覺得 Oracle 很完美, OceanBase在設(shè)計之初,很多方向也借鑒了 Oracle 的做法。然而,任何一個產(chǎn)品都有它的生命周期。如果不加速變革,是沒有辦法適應(yīng)大環(huán)境的變化,也無法支持好客戶需求。在海外,除了 Oracle,還有很多數(shù)據(jù)庫的選擇,比如 MongoDB,Elastic Search,Snowflake 等等。
現(xiàn)在數(shù)據(jù)庫已經(jīng)到了云原生、分布式轉(zhuǎn)型的一個時間窗口,所以從技術(shù)趨勢角度來看,OceanBase 堅持做下一代云原生分布式的方向。它是能夠代表未來的。越來越多的用戶慢慢會升級到在云上的原生分布式數(shù)據(jù)庫。所以說,大趨勢上沒有那么悲觀。
另外,我們在一些關(guān)鍵行業(yè),例如運(yùn)營商、保險、人社等行業(yè),已經(jīng)實現(xiàn)了由 Oracle 到分布式數(shù)據(jù)庫的成功替換。通過 OceanBase 的 Oracle 兼容模式和配套的平滑遷移工具,能夠做到不改業(yè)務(wù)代碼將 Oracle 遷移到一體化架構(gòu)的 OceanBase上。
國產(chǎn)數(shù)據(jù)庫已經(jīng)迎來很好的時機(jī),這個事件對數(shù)據(jù)庫從業(yè)者和技術(shù)愛好者來講,一定要把數(shù)據(jù)庫基礎(chǔ)打牢。十幾年前 OceanBase 在做數(shù)據(jù)庫的時候,會有一種孤獨的感覺。但現(xiàn)在越來越多的人涌入到這個行業(yè),資本市場也越來越關(guān)注基礎(chǔ)軟件的發(fā)展,這個行業(yè)未來一定會很好。所以要堅持,保持初心。
Q:國內(nèi)大部分?jǐn)?shù)據(jù)庫廠商的產(chǎn)品都是基于開源產(chǎn)品做的二次改造,你怎么看?A:楊傳輝:無論基于開源二次改造還是完全自研,最終的目標(biāo)都是解決用戶需求。我覺得本質(zhì)上是一個技術(shù)選擇,基于開源的好處在于前期會比較快一點,但是后面會越來越難。因為越到后面,會遇到越多深入的需求,需要大范圍修改內(nèi)核,基于開源比較難做到徹底掌控內(nèi)核。
OceanBase 走的是完全自研的技術(shù)路線,打個比方,OceanBase 有點像在練九陽神功。會有兩個好處。第一個是如果練成了,肯定是一個武林高手。第二個好處在于學(xué)會了九陽神功,再去學(xué)其他的武功都會比較快。通過自研能夠徹底掌控內(nèi)核,當(dāng)面對客戶新需求或新變化的時候,都能非??斓厝M足客戶的需求。而且客戶所有的核心業(yè)務(wù)場景 OceanBase 都可以承接住,這個是做自研最大的好處。
二次開發(fā)的話,取決于開發(fā)的深度。如果只是簡單開發(fā)的話,只具備開源產(chǎn)品已有的能力,但獲取額外能力是很難的。很多時候需要業(yè)務(wù)做改造來適應(yīng)開源產(chǎn)品。這是兩類的差別。
Q:如果想成為新一代流行的數(shù)據(jù)庫,當(dāng)前國內(nèi)的數(shù)據(jù)庫技術(shù)還應(yīng)做哪些改進(jìn)?未來國產(chǎn)數(shù)據(jù)庫要成為國內(nèi)企業(yè)數(shù)字化建設(shè)的首選需要具備哪些指標(biāo)和特性?A:楊傳輝:首先數(shù)據(jù)庫最終還是用出來的,應(yīng)用是數(shù)據(jù)庫研發(fā)的第一推動力。通過應(yīng)用的需求到數(shù)據(jù)庫能力提升,再反饋給應(yīng)用,這樣的一個循環(huán),才能成就一款成熟的數(shù)據(jù)庫產(chǎn)品。
面對企業(yè)級用戶,首先數(shù)據(jù)庫產(chǎn)品能否進(jìn)入到核心系統(tǒng)內(nèi),如果不能實現(xiàn),那后面被替代的可能性就會很大?;谶@樣的假設(shè),我們總結(jié)過企業(yè)級數(shù)據(jù)庫大概會有哪些關(guān)鍵的需求:高可用、可擴(kuò)展、強(qiáng)兼容、易管理。同樣數(shù)據(jù)庫產(chǎn)品自身的功能、性能、穩(wěn)定性也很重要。
還有一個點就是是否有關(guān)鍵業(yè)務(wù)場景的實戰(zhàn)經(jīng)驗,這個也很重要。OceanBase 最大的優(yōu)勢在于經(jīng)過了螞蟻集團(tuán)多年雙十一核心業(yè)務(wù)場景的打磨,鍛煉了 OceanBase 的并發(fā)性能、穩(wěn)定性、延遲等核心技術(shù)能力。今天再研發(fā)一個新的 OLTP 數(shù)據(jù)庫是比較難的,因為首先需要有類似螞蟻這樣的業(yè)務(wù)愿意交給你支撐它的核心系統(tǒng)。
Q:未來國產(chǎn)數(shù)據(jù)庫廠商之間應(yīng)該如何競爭與協(xié)作,才能促進(jìn)行業(yè)更好更快的發(fā)展?A:楊傳輝:今天從技術(shù)路線角度來講,我會比較堅持原生分布式的技術(shù)路線。
首先,以前走集中式技術(shù)路線,比如 Oracle,db2。花了很多年,通過線下客戶不斷打磨出來,到今天已經(jīng)很成熟。但對于分布式技術(shù)路線,國產(chǎn)數(shù)據(jù)庫現(xiàn)在有一個換道超車的機(jī)會。
第二,需要更加聚焦。今天數(shù)據(jù)庫創(chuàng)新非常多,有一些是做基礎(chǔ)功能性能的優(yōu)化。比如說復(fù)雜查詢等等,還有一些新技術(shù),比如說軟硬結(jié)合,安全隱私,面向 AI 的自治數(shù)據(jù)庫,多模數(shù)據(jù)庫等等。我們應(yīng)該將最主要的精力聚焦在基礎(chǔ)功能和性能的提升上,解決用戶的真實需求。數(shù)據(jù)庫最難的,并不是如何用新技術(shù),或者如何做技術(shù)創(chuàng)新,而是基本功。
OceanBase 性能也是一樣的,目前能做到跟這個 Oracle、MySQL 相當(dāng)。但是很多場景尤其是復(fù)雜查詢,還需要很多時間去優(yōu)化。所以需要更加聚焦,把更多的精力放到如何把引擎做到最好。
第三,國產(chǎn)數(shù)據(jù)庫需要更多的去兼容標(biāo)準(zhǔn)。比如說 OceanBase 兼容 MySQL,兼容 Oracle,通過標(biāo)準(zhǔn)化降低數(shù)據(jù)庫的遷移成本。
OceanBase 也一直在跟行業(yè)協(xié)會在做適配中心和實驗室。國產(chǎn)數(shù)據(jù)庫必須加入到一些組織,讓技術(shù)更加標(biāo)準(zhǔn)化。然后牽動產(chǎn)學(xué)研,推動整個數(shù)據(jù)庫產(chǎn)業(yè)的發(fā)展。
Q:國產(chǎn)數(shù)據(jù)庫在替代商業(yè)數(shù)據(jù)庫過程中,主要會遇到哪些問題? A:葉金榮:首先是讓更多用戶能認(rèn)知和使用國產(chǎn)數(shù)據(jù)庫,能讓更多場景應(yīng)用到。不管是分布式,還是集中式都可以,得先把第一批的種子用戶拿下,想盡一切辦法去拿下。一個新的基礎(chǔ)軟件,不管是開源還是非開源的,第一批種子用戶都非常重要,要把他們服務(wù)好。有了第一批用戶積攢的口碑和案例,大家才能有基礎(chǔ)信任。
第二個就是業(yè)內(nèi)同行的認(rèn)可,需要持續(xù)保持一個良好的品牌形象,同行的口碑傳播也是非常重要的。
當(dāng)遇到一些問題或場景的時候,要能夠快速響應(yīng),這樣才能讓用戶認(rèn)為這個產(chǎn)品(或者說做這個產(chǎn)品的團(tuán)隊)是靠譜的。遇到問題時,還能借助社區(qū)的力量幫忙解決,相關(guān)的配套生態(tài)等方面都是充足的,那就可以放心地去使用,去嘗試。
替換是大勢所趨,要盡早布局。如果不做的話,將來遲早有一天是要出事的。另外一定要找國內(nèi)自主可控穩(wěn)定的數(shù)據(jù)庫產(chǎn)品。
Q:過去國產(chǎn)數(shù)據(jù)庫替代的進(jìn)程中還有很多人會有所擔(dān)心和顧慮?未來如何更好地解決?A:葉金榮:這個擔(dān)心肯定是存在的,也是必不可少的。我們要做的就是如何幫助他們?nèi)ハ朕k法,如何真正無縫升級。我們可以跟著客戶一起,把他們面臨的問題,一起解決,讓他們知道我們是站在同一條戰(zhàn)線的,能一起做事情。
另外還有一些需要考慮的問題。首先是穩(wěn)定性,接下來是兼容性,比如要升級整個數(shù)據(jù)庫。那兼容性方面做得如何?有沒有足夠的測試案例?如果說測試不夠完善的話,還有一些其他的方式能幫助去提前找出來可能潛在的一些風(fēng)險。
如果說有一些足夠的配套方式方法,或者說配套的生態(tài)工具等,能幫助他們。比如把線上所有的業(yè)務(wù)場景花一定的時間全部跑一遍。再新的數(shù)據(jù)庫再去跑一遍,也能展示出來這個新數(shù)據(jù)庫是靠譜的。不管功能、性能還是穩(wěn)定性等方面。只要解決了這個問題,相信后面再去替換,可能只是時間的問題。
Q:如何看待 Oracle 暫停俄羅斯業(yè)務(wù)這件事情?這會對國內(nèi)數(shù)據(jù)庫行業(yè)乃至全球帶來什么樣的影響與啟發(fā)?A:葉金榮:凡事都有兩面性,或許這個事情短期內(nèi)會有一些影響,但長期來看,可以借這個機(jī)會更好地發(fā)展基礎(chǔ)軟件。不管是操作系統(tǒng),硬件還是數(shù)據(jù)庫,都是一個非常好的契機(jī),所以需要大家更好的支持國產(chǎn)的數(shù)據(jù)庫。
線上答疑解惑環(huán)節(jié)Q:MySQL 也歸屬 Oracle,在未來,基于 MySQL 協(xié)議的國產(chǎn)數(shù)據(jù)庫產(chǎn)品是否存在法律上的風(fēng)險?A:葉金榮:雖然 MySQL歸屬 Oracle,但它也是在 GPL協(xié)議框架內(nèi)的,只要我們做的事情也是在 GPL 協(xié)議這個框架內(nèi),我覺得這塊就沒有法律的風(fēng)險,或者說這個風(fēng)險就很低了。
因為本身只要是遵循 GPL 協(xié)議,你的基礎(chǔ)代碼是開源的。那我相信只要在這個框架內(nèi),做什么事情,都是合規(guī)的,法律上的風(fēng)險大家是不用擔(dān)心的。
Q:OceanBase 未來在 HTAP 發(fā)展上如何開展工作?A:楊傳輝:我對 HTAP 的定義,認(rèn)為它是包含兩個方面。第一個方面是TP能力的增強(qiáng)。很多的產(chǎn)品,它的 TP 能力往往可能只有一些簡單的查詢,但是一個商業(yè)數(shù)據(jù)庫產(chǎn)品除了簡單功能,還會有很多復(fù)雜的查詢,復(fù)雜的 SQL,它也能跑得很好。優(yōu)化器、并行執(zhí)行這些能力都是很強(qiáng)的。這是一個 TP 能力的增強(qiáng)。另外一個方面是偏實時的 AP 能力。因為隨著TP數(shù)據(jù)庫具備分布式架構(gòu)處理大數(shù)據(jù)量的能力,那以后會逐步往 AP 領(lǐng)域滲透,尤其是實時 AP 領(lǐng)域。絕大部分實時分析的場景,既有實時分析的需求,同時也有一部分實時事務(wù)處理的需求。
OceanBase 一直堅持在做 HTAP 的路線上,核心還是一個原生的分布式架構(gòu),能夠支持大的數(shù)據(jù)量。既能做 TP 也能做 AP,那么以后的空間會越來越大。
Q:國產(chǎn)的是否有輕量級數(shù)據(jù)庫,能夠跟 MySQL 一樣?目前接觸下來的都是分布式重型的。實際場景用不到?A:楊傳輝:OceanBase 其實是一個一體化的分布式數(shù)據(jù)庫產(chǎn)品。雖然也沒有完全做到跟 MySQL 一樣輕量,但是會逐步的去趨近它。今天 OceanBase 最新的一些產(chǎn)品,其實在單機(jī)的性能上,比如 32G 甚至 16G 左右內(nèi)存的一個場景。跟 MySQL 的性能是差不多的。比 MySQL 5.6 還要好一些,跟 5.7 差不多。我們也在逐步輕量化,在之后 8G 的內(nèi)存環(huán)境,甚至有可能 4G 的內(nèi)存環(huán)境下,做到和 MySQL 差不多。這樣才是一個理想的、同時具備分布式擴(kuò)展性與集中式的輕量化的一體化產(chǎn)品。
Q數(shù)據(jù)庫內(nèi)核開發(fā)的學(xué)習(xí)路徑是什么?A:楊傳輝:我們在招內(nèi)核研發(fā)的時候。主要看技術(shù)的基礎(chǔ)和對技術(shù)的熱情。絕大部分公司和高校,都很難有一個實踐的環(huán)境去培養(yǎng)能寫內(nèi)核代碼并有經(jīng)驗的人。所以我們更多時候看重的是潛力。
潛力的話,一個是說計算機(jī)的基礎(chǔ)知識,比如說數(shù)據(jù)結(jié)構(gòu),算法,操作系統(tǒng),數(shù)據(jù)庫原理,這些專業(yè)課程是否都能夠掌握得很好。另一個是是否特別有熱情做這個事情。包括我和葉老師,都堅持十幾年做這個領(lǐng)域,十幾年,如果沒有一定的熱情,到后面有很多讓你放棄的時候,很難堅持的下來。所以,熱情很多時候甚至比能力更重要。
當(dāng)然了,現(xiàn)在有些速成的方法,參與到開源項目里面,尤其是國內(nèi)的一些開源項目,你可以近距離地和這個項目的作者直接去交流,把學(xué)到的理論知識變成能力,這也是一個非常好的辦法。
Q:除了金融、電信、政企外,還有哪些目前沒有在未來可能成為潛在大客戶的行業(yè)?A:楊傳輝:比如說互聯(lián)網(wǎng)行業(yè),包括 OceanBase 就是在互聯(lián)網(wǎng)場景里面誕生的。雙十一的搶購,高鐵搶票的場景,對數(shù)據(jù)庫的要求都很高。還有包括制造業(yè),比如說芯片,臺積電,中芯國際等這樣的企業(yè),很多地方都要用到數(shù)據(jù)庫??梢园褦?shù)據(jù)庫理解為工業(yè)母機(jī),每個行業(yè)的重要客戶都是強(qiáng)依賴于數(shù)據(jù)庫的處理能力。不會僅限于金融、電信、政企。
葉金榮:我們的生產(chǎn)生活中無處不在都存儲著數(shù)據(jù),每個都是數(shù)據(jù)庫可發(fā)揮的場景。比如物流機(jī)器人,電力,水力等。數(shù)據(jù)庫作為一個基礎(chǔ)軟件已經(jīng)滲透到國計民生當(dāng)中。
《對話 ACE》第一期通過兩位老師對熱點趨勢、核心技術(shù)等的討論與探索,能夠幫助更多的企業(yè)技術(shù)從業(yè)人員,提升企業(yè)國內(nèi)從業(yè)人員對國產(chǎn)數(shù)據(jù)庫的了解,降低國產(chǎn)軟件發(fā)展的門檻,加速國產(chǎn)軟件前進(jìn)的進(jìn)程。
未來 OceanBase 將持續(xù)開展不同主題的《對話 ACE》活動,敬請關(guān)注!
關(guān)鍵詞:發(fā)展,未來,數(shù)據(jù),國產(chǎn)