首頁 > 收藏

對話ACE第三期:資料庫技術生態應如何構建

作者:由 OceanBase資料庫 發表于 收藏日期:2022-12-15

雲和恩墨是做什麼的

對話ACE第三期:資料庫技術生態應如何構建

資料庫已經有了 60 年的發展歷史。從主流商業資料庫到開源資料庫,近年來國產資料庫也開始加大了投入,開始逐漸進入到行業核心系統,例如金融和證券。雖然國內資料庫技術相比國外產品仍有差距,但是目前來看並不是技術本身,而是資料庫生態的建設。

一個成熟的資料庫生態不僅包括功能完善、效能優秀、執行穩定的系統,還包括完整的文件與知識庫、豐富多樣的開發和執行維護工具鏈、典型的應用案例和評測報告,以及一批熟悉系統、經驗豐富的開發者和使用者。

《對話 ACE》第三期活動便圍繞“資料庫技術發展和生態建設”的背景,邀請到 OceanBase 合作伙伴和生態合作部總經理梁劉紅和新炬網路首席架構師、OracleACE Director 梁銘圖兩位老師,共同探索“資料庫技術生態如何構建“,以此推動國產資料庫技術生態更好地發展。

以下為對話實錄:

梁銘圖Q從商業到開源再到雲,如何看待資料庫技術這幾段變化?

A從商業到開源再到雲,我感覺首先是整個資料庫的技術在不斷向前演進。包括現在的主流資料庫,從前開始都是Oracle,現在MySQL到上雲。除了技術以外,還有其他一些因素在共同推動這個程序的發展。

特別在我們國內,第一個是國內資訊化水平在飛速發展,在20年前,國內除了BAT等網際網路企業外,普遍的企業資訊化程度相對來說還是比較單一或者薄弱。國內資訊化的建設主要集中在金融、電信等行業。當時應用或業務都沒那麼複雜。在這種狀態下,很多客戶會將所有的資料或者核心的業務資料放在一個數據庫裡面。對於企業核心的生產系統而言,必然是追求系統的穩定性和可靠性。在這種情況下,商業資料庫由於經過了行業的反覆驗證,以及完善的工具體系,國內的開發,運維的人才相對比較多,所以無疑對於企業而言,是最好的選擇。

資訊化發展到一個階段以後,整個業務會相對來說變得越來越複雜。特別是到了後期,甲方也意識到並非所有的應用都得用 Oracle 這麼貴的資料庫。於是更多的一些邊緣應用,會選擇使用一些開源資料庫。在網際網路行業選擇使用比較頻繁的情況下,再到後期雲狀態逐漸成熟以後,特別是雲原生,包括微服務整個架構的思想牽引下很多企業開始慢慢的去拆系統裡面的這種巨石(泛指大的應用)。將它進行業務的拆分解耦,使得原來很複雜的資料庫業務邏輯開始慢慢變得簡單。那資料庫用開源或者更多的雲化資料庫的一個契機,也就慢慢的落地。所以我認為,現有狀態下的這些變化有以下幾種原因,一是整個資訊化的發展程度,二是架構的思想變化,還有技術的演進,共同驅使整個資料庫技術的變化。

梁劉紅

Q OceanBase 的生態建設上做了哪些?

A 要想成為一款真正好用的企業級資料庫。除了產品自身的能力外,建立良性可持續發展的生態體系也至關重要。OceanBase 從商業化之初就非常重視生態體系的建設,我們的生態建設工作主要圍繞四個方面展開,分別是產業生態建設,技術生態建設、人才生態建設以及商業生態建設四個維度。

首先是產業生態,經過過去兩年的努力,OceanBase 已經與產業鏈上下游數百家的重量級的夥伴完成了產品適配認證工作,其中不僅包括了大家耳熟能詳的如鯤鵬、海光、飛騰、統信、麒麟、金蝶天燕、東方通、普元這一類基礎軟硬體廠商,也包括了像神州資訊、長亮科技、中電金信、宇信科技、易誠互動、恆生電子、太極華保、新大陸、東軟、久遠銀海、用友這一類覆蓋銀行、證券、保險、運營商、政企、通用行業的頭部應用廠商。

第二是技術生態,2021 年 6 月 OceanBase 正式開源,採用木蘭公共協議,透過 Open Core 的模式開放了 300 萬行核心程式碼,包含完整的資料庫核心、分散式元件和介面驅動層。與企業版的差別僅在於少量的高階特性,如 Oracle 相容模式、圖形化管理工具、操作審計、安全加密、高可用擴充套件等。

這次開源,是充分考慮了技術和商業發展後做出的戰略決定,是 OceanBase 最重要的技術戰略之一。OceanBase 的此次開源也充分體現了 OceanBase 在加速支援技術生態建設上的決心與誠意。

截止到今年 3 月底,已有 136 名技術貢獻者加入 OceanBase 開源社群,社群使用者數超過 29000 名。超過 100 多家客戶進行了深度實踐,並圍繞“OceanBase 社群版的使用及開發”輸出了深度的解決方案、技術解讀以及實踐分享。

同時,OceanBase 也在加速推進與資料庫周邊生態工具廠商的合作,目前已經與 DSG、flink cdc、datax、otter、prometheus、k8s、派客動力、新炬網路、雲和恩墨、英方、愛數、安華金和等 40 餘家廠商完成產品適配,覆蓋資料遷移、資料同步、資料清洗、資料安全、資料備份等多個領域。

OceanBase 是純自研的資料庫,與基於開源 MySQL 或 PostgreSQL 二次開發的資料庫不一樣,沒有現成的生態可複用,因此 OceanBase 的開源起步註定是比較難的。但只要方向對了,就不怕路遠。在開源方面,我們會堅持做好三件事情:

產品能力:認真打磨好每個版本,全面加強與MySQL的相容性

加速提升易用性:不斷完善技術文件,開放更多介面,完善各類生態工具

持續最佳化服務體驗:長期投入,透過各種線上線下高質量的活動,孕育活躍的開源社群文化,與廣大社群開發者攜手,持續最佳化服務體驗。

第三是人才生態,要想繁榮資料庫生態圈,人才培養要先行。人才是技術和生態建設的根本。中國目前在基礎軟體方面的人才是極度匱乏的。在中國,每年軟體技術專業的畢業生 90% 流向了上層應用開發,僅有不到 10% 的畢業生投身於基礎軟體方面。

OceanBase 會長期投入,透過建設人才聯盟、結合人才標準、提升人才能力、傳播人才價值等一系列措施,持續為行業培養和輸送高質量的分散式資料庫人才。

2020 年 9 月,OceanBase 推出了資料庫人才培養體系和認證標準,根據人才能力畫像的不同,認證分三個級別:

OBCA (OceanBase資料庫認證專員):掌握OB的產品架構、核心功能。

OBCP(OceanBase資料庫認證專家):熟練使用OB,能夠制定有效的技術解決方案,熟練診斷常見問題,並給出相應的解決方案。

OBCE(OceanBase資料庫認證大師):設計OB的整體架構,確保業務平穩、高效能運轉,具備處理複雜業務場景的故障排查能力。

高等院校是人才培養的搖籃,過去兩年,OceanBase 也積極聯合了華東師範大學、武漢大學、浙江大學、東北大學、浙江理工大學、華中科技大學、復旦大學等多所高校持續推出豐富多彩的專案和活動,實現從教材、教案、教具、師資培訓、人才培養基地、資料庫大賽、人才認證全覆蓋的人才培養模式,幫助更多高校資料庫愛好者學以致用,促進國產資料庫的人才發展。

最後是商業生態,OceanBase 對於自己的定位一直非常清晰,專注做好資料庫,其他方面的事情全力支撐合作伙伴來完成。OceanBase一直致力構建開放、合作、共贏的生態體系,與夥伴攜手持續為廣大客戶提供優質的服務。

當前,我們將夥伴主要分為四大類:

經銷商夥伴:銀牌、金牌、鉑金

專業服務商夥伴:銀牌、金牌、鉑金

聯合解決方案夥伴:精英、戰略

培訓認證夥伴:授權

針對每一種型別的每個級別,OceanBase 都有明確的要求 & 權益。這裡想重點講講 OceanBase 今年在夥伴服務能力建設方面的一個重要舉措。

OceanBase 今年釋出了“OceanBase 技術精英訓練營計劃”,除了上面提到的各種人才培養手段以外,我們還特別增設了師傅帶徒弟進入實戰訓練的環節,每一位進入訓練營的技術人員都會被指派一名來自OceanBase 的資深技術專家作為師傅,帶入實際專案中打磨實戰能力。我們希望透過這一舉措,快速提升夥伴的服務能力及行業競爭力,更好地服務於廣大客戶。

梁銘圖

Q 如何建設一個新型資料庫技術全棧?

A關於這個問題,我今天以一個數據庫的使用者或者需求者的角度談談企業該如何構建資料庫技術全棧。

①在資料庫產品選型過程中,首先會優先選擇技術穩定的產品。

②關注研發持續的投入,有明確的發展路徑。大客戶比較看重這點的原因,主要是希望與資料庫產品有一個長時間共建的過程,形成長期的合作關係。

③清晰的產品定位,適用於不同的場景。企業應用的場景有千萬種,每種場景選擇的資料庫型別都有一定差別,而且一種資料庫並不能解決所有場景的這些問題。

④對於甲方客戶來說,完善的資料庫售後也是非常關鍵的。甲方客戶一般比較害怕的是問題沒辦法或者沒人去幫助解決,所以會傾向選擇有一個完善研發售後體系來做支撐。

⑤構建資料庫技術全棧的關鍵因素是人,對於一個新的資料庫而言,需要構建一整套學習和知識分享體系。無論是社群、技術圖書、優質內容、認證培訓等方式,都是可以為企業快速培養研發和運維的相關資料庫人才。

⑥完整的工具體系能夠很好地嵌入到企業現有的開發和運維體系內,減少對於資料庫的運維壓力。因為每增加一個數據庫的技術佔比,必然會增加現有運維團隊的負擔。學習總是有個曲線和過程。如果有豐富的工具體系,可以適當地去降低學習曲線。

⑦開發架構的相容性。應用程式碼尤其核心繫統的遷移並不簡單,這種遷移的工作量往往數以千計人天,包括跨部門配合的工作量,是一個天文數字。如何去提高相容性來減少對於應用的衝擊,也是一個必要考量的。除此之外還可以選擇一些工具去做評估。

梁劉紅

Q您是否認可未來將進入雲資料庫時代?

A回答這個問題前,首先需要思考的一個問題就是未來是公有云的天下嗎?我相信大家都認可未來企業在 IT 架構設計上,雲架構是必選的一種 IT 戰略。但至於要選用什麼樣的雲架構,是私有云、還是公有云,還是混合雲或者多雲。其實不同的人有不同的看法。但認真思考一下,公有云主要解決的是敏捷、彈性的問題,私有云主要解決的是資料安全、可信賴的問題。而敏捷、彈性、資料安全、可信賴是大多數企業在做自身 IT 規劃時希望同時具備的特點。

國際知名軟體資產管理商 Flexera 在2021年釋出的雲狀態報告顯示,92% 的企業在 IT 架構上選擇多雲戰略,在這 92% 的企業中有 82% 選擇了混合雲。融合了公有云、私有云優點的混合雲架構已成為企業上雲的最佳選擇。

回答完這個問題,未來是否將進入雲資料庫時代的這個問題就迎刃而解了。雲上、雲下的融合是大勢所趨,長期的行業趨勢不是將所有的資料都轉移到公有云,而是將雲體驗轉移到資料上來,而這其中,非常關鍵的一個技術方向就是分散式資料庫,換個說法就是分散式資料庫是大勢所趨。

梁銘圖

Q HTAP 會不會成為新一代的技術生態?

A 我認為肯定是毫無疑問的。去年我們在寫中國資料庫發展的白皮書。其中有寫到說 HTAP 就是資料庫未來重要演進的方向。這個概念也不是近期提出來的。以 Oracle 為例,很早就提出在其本身支援 AP 應用的一個特性。

所以 HTAP 這種模式其實對於企業而言,好處不言而喻了。在一個數據庫引擎裡面既可以做一些 TP 的應用,又可以做一些 AP 高效的查詢。不用做很多的 ETL。原來做資料分析,要麼用 CDC 傳輸,要麼用 ETL 拉到資料倉庫裡面再去做分析。在這種情況下,客戶就可以用一套資料,幾乎實現實時統計了。

從根本上,就企業而言非常單純以交易為主的 TP 應用,其實往往並不是非常常見的。在大型的企業中,應用模式基本上就是混合負載。比如運營商的營業廳每天做業務的操作後,每天會做資料核對出日報。日報本身就是一種實時統計,所以就非常適合 HTAP 混合負載這種場景。

那 HTAP 未來是否是唯一的選擇呢?還不是。它只是其中一個趨勢,適合哪種場景呢?第一種是大中型企業裡面一些以 TP 為主的,但是可能有一些 AP 應用場景的混合式的應用場景。另一種相對來說中小型企業,本身資料量也不大,用一個數據庫就解決所有的問題。為什麼說 HTAP 不是一個萬能鑰匙呢?我個人認為對於海量資料的應用場景來說,需要匯聚各種各樣的採取各方面的資料來源的資料,要做匯聚整合,這類還是專業的資料倉庫或者資料湖的解決方案更適合一點。

梁劉紅

Q 開源生態建設方面,有什麼好建議?

A OceanBase 在開源生態建設方面是有一個專業的運營團隊在負責。在社群治理方面,OceanBase 持續傾聽社群使用者反饋,圍繞使用者的行為準則、貢獻者協議、組織結構、反饋機制、輔導機制等制度方面加強社群治理。

在社群運營方面,OceanBase 自行組織 18 場線上線下技術沙龍,並參與 12 場技術峰會進行佈道,透過舉辦全國首個分散式資料庫核心開發大賽,連線 2000 名高校資料庫愛好者,共連線超 5000 名開發者。透過每月更新社群進展和聆聽使用者需求反饋,持續迭代高質量文件和提升社群活躍度。透過使用者成長路線,做好社群支援和服務能力,給予使用者更多的人文關懷和幫助使用者專業及影響力發展。

梁銘圖

Q對於面對云為主的技術生態,您認為除了主流的公有云,其他雲生態應如何構建?

A 我是混合雲的堅定支持者。未來企業的基礎架構肯定是向混合雲演進的機率更大一些。一方面頭部的金融、運營商這種企業,他們對內部的IT訴求足夠大,可以支撐他們去獨立構建自己的私有云設施。另一個方面就是對於公有云,國內企業關於資料安全這一點是有擔心的。所以在這種情況下,國內企業一般會去建設私有云來支撐他們內部應用,特別是核心資料的應用。比如像運營商,就會建立多個私有云中心。

另外關於公有云,面對創新和網際網路的應用,也更適合部署在公有云。因為彈性按需計費,不會耗費更多資源。另外還有一種是在公有云上做一些災備。沒問題的時候,在私有云上完成執行。一旦出了問題,可以快速地遷移到公有云上。這往往是一種混合的模式。在這種混合模式的生態下,雲如何構建?對於資料庫而言,其實是需要一個支撐多雲的異構資料庫雲管平臺。因為資料庫涉及到可以在不同的雲上進行,比如說管理分配資源,可以對接到不同的雲上去做遷移。出現問題,馬上切換公共雲模式。另外像多雲之間的運維,監控,包括效能的分析。還有就是資料庫之間的同步,可能涉及到容災以及資料應用。需要在不同資料庫進行資料同步。從私有云同步到公有云,公有云同步回來,都是一個可見的問題。所以對於我們的企業而言,未來的應用和資料庫會處於在公有云和私有云混合雲的這種狀態下。

梁劉紅

Q國內和海外的生態構建是否有區別?

A就生態建設的大邏輯而言,國內海外沒有什麼大的區別。但就具體落地時的策略規劃,關注重點來看,肯定是有很大不同的。這中間要考慮的點很多,包括政治文化的差異,商業氛圍的差異,IT發展大環境的差異等等。其實,不用說國內國外生態建設的差異,就是在同一個國家內,同一個公司,在生態建設的不同階段,生態建設所關注的重點也是不一樣。

拿大家熟悉的雲計算舉例,從資料上來看,去年年底的時候,美國 SaaS 的佔比已經超過七成。但是國內 SaaS 佔比還不足三成。顯然美國的 SaaS 產業生態已經處於成熟階段較為穩定,而國內SaaS產業生態還不完整處於快速發展期,中美 SaaS 產業在生態環境、資訊化程度、產業化階段、客戶群體結構以及使用者習慣等方面都存在一定差異,因此在雲端 SaaS 生態的佈局上就一定存在差異性,要因地制宜,冷靜客觀。

梁銘圖

Q工具對於資料庫的生態建設很重要,在工具生態的設計上,您怎麼看?

A首先資料庫的工具生態能夠覆蓋整個資料庫的生命週期。例如在運維管理階段,最好能夠做需求分配,可以配置出需要的資料庫及雲管平臺。可以做監控和主備管理等。輔助開發工具,像一些 SQL Turning,SQL 稽核,幫助做一些資料設計等等。這些工具可以輔助開發人員快速開發出所需要的程式碼。效能最佳化工具,針對一些效能做分析;同步資料工具,無論實時、非同步的匯出、傳統的 ETL 工具,資料同步工具也是非常重要的;遷移應用工具,針對存量系統,能夠快速去遷移到新的技術棧。新檔案在資料庫內幫助我們去評估系統程式碼是否符合現有規範。這幾類工具會覆蓋到資料庫的各種階段。

其次比較重要的是工具的開放性。為什麼這麼說呢?整個企業未來的 IT 和應用管理,將是一個數據化、智慧化時代。需要資料進行一些聯動。所以整個資料庫的工具生態會嵌入到無論是能力開放、資料共享、還是整合,都會去整合到企業 IT 大環境裡面去。

資料庫是 IT 運維的一部分,如何整合到運維環境內,資料和工具都能夠發揮一個更大的作用,使用者使用起來也相對更放心。

Q&A 環節

Q 怎麼評估國產庫遷移的應用改造量?

梁劉紅:

當前的資料庫的使用,還是一些主流資料庫,譬如 Oracle、MySQL,OceanBase 針對這方面的相容性,是有一整套專業的評估工具,在客戶已有場景下,透過評估可以看到相容效能夠做到多少,包括語句相容、效能調優。

梁銘圖:

關於資料庫遷移的應用改造量有幾個因素。第一是新的資料庫遷移目標的資料庫相容性有多少,也涉及到程式碼改造量。第二是資料的遷移改造量有多少。有一些可評估的模型工具,是可以輔助做這方面的評估。

Q 國產資料庫的成本是怎麼衡量?

梁銘圖:

第一是商務的成本;第二是遷移成本,如果是存量系統的遷移。或是重新開發的開發成本;第三是運維成本。包括團隊、工具體系、運維流程,都要做一定的調整。

梁劉紅:

其實對於國產資料庫而言,早期企業不存在替換的問題。但是現階段使用國產資料庫就存在一個替換的過程。

在一開始起步階段,使用國產資料庫的成本確實有些大。但隨著越來越多國產資料庫被廣泛使用,成本一定會降下來,工程師的學習成本降低了,運維服務成本降低了,應用改造的成本也會隨著應用廠商逐步將國產資料庫作為主流資料庫去深度整合而逐步降低。當前我們正處在轉型期,轉型期的代價往往是比穩定期要大的,但只要渡過了這個階段就一定會迎來更好的格局。

Q OceanBase 在 Oracle 相容性上能做到多少?

梁劉紅:

平均的統計資料上 OceanBase 的 Oracle 相容性是超過 95% 的。但是有些客戶用到的是深層次儲存過程或者 Oracle 非常冷僻的語法。這個語法如果正好 OceanBase 現階段沒有去相容,那 OceanBase 可以根據客戶反饋及時增強相容性。在不斷的客戶使用反饋中把相容性和產品效能做好做強,需要越來越多的客戶給予 OceanBase 在不同場景中打磨的機會。

Q 國產資料庫在 OLTP 的表現如何?

梁銘圖:

可以肯定的說國產資料庫在 OLTP 方面表現的還是很不錯的。因為分散式在一些場景下,事務務必要控制,包括跨節點事務,畢竟是有一定消耗的。在設計場景的情況下,當做好分散式事務的迴避後,國產資料庫在 OLTP 的領域是沒有問題的。

國產資料庫在整體規劃和設計好的條件下,OLTP 在某些層面上,並不比 Oracle 差,甚至可以超越。