5月10日,由企業網D1Net舉辦的2023全國CIO大會盛大召開。本屆大會以“企業承壓,IT怎么干?”為主題,匯集300+企業CIO及IT高管,旨在搭建CIO與同行交流的高質量交流和社交平臺,通過觀點與思想的激烈碰撞,可落地的實戰干貨分享,幫助CIO用戶群化解困惑和焦慮,助力廣大CIO找準數字化機遇、少走彎路,應對數字化轉型過程中的諸多挑戰。主論壇外,另設新安全、數據賦能、新技術增效三個分論壇。包括CIO中年職業危機應對也是本次大會的議題之一。
以下是現場速記。
騰訊云數據庫產品總監 王云龍
王云龍:謝謝大家,我也是第一次參加CIO大會,兩天都有參與到學習和討論,確實學到了很多行業的經驗,也有體會到各行各業CIO企業信息化轉型過程中的各種問題。作為數據庫廠商,我也在思考數據庫層面怎樣給各個行業、各個企業的CIO帶來自己的企業價值,或者降低整體信息系統的成本。
今天我的主題就是“騰訊云TDSQL助力政企核心系統國產化”,主要分為這樣幾個部分:騰訊TDSQL產品的進階過程,為什么發展到了現在這樣一個狀態,騰訊TDSQL當前可以提供給各個企業,能夠體驗到的產品價值,過去一段時間各行各業在國產化數據庫做的一些案例分享,最后是希望能夠通過國產化數據庫推動給各個企業的產品輸入,能夠做到整個企業數據庫技術的提升和人員的壯大。
TDSQL產品進階之路分為三個階段,其實也是源于騰訊自有業務,最初騰訊的各種產品底層都是有數據庫的支撐,更多的都是通過TDSQL數據庫統一對外,就是服務企業內部。騰訊2015年開始做公有云數據庫產品,逐步把TDSQL推送給企業的各個客戶或者各個行業,相當于有了一個目標,就是投身產業互聯網。騰訊原來To C的行業逐步向產業互聯網經營,消費互聯網向產業互聯網轉型。最近兩年剛引入的攻堅金融標桿,順應國家整體國產化的戰略,軟件、硬件的底層核心系統和核心技術全部國產化替換,優先從金融行業做起。隨著金融行業和其它各種行業經驗的逐步積累,國產化的風潮肯定會越來越大,趨勢肯定會逐步蔓延到各行各業,我們希望把這些經驗逐步復制。
我們現在做的就是數據庫廠商,但我本人最初也是跟在座的各行各業一樣,服務于騰訊內部的數據庫系統,最初我的工作是運維部,主要就是做數據庫系統的運維和整體業務系統的運維。互聯網公司的生產資料其實就是各種程序和互聯網服務,整體的IT設施本身就是自己的生產資料,底層很多技術都是自己開發、研究、使用,因為和實體經濟不一樣,互聯網公司就是要做這件事情。因此對數據庫團隊來說,需要支撐自身支撐數據庫業務的事情,騰訊內部的各種各樣的系統,根據不同的業務場景和對數據庫的要求,使用大量的數據庫技術,包括開源的MySQL、PostGre等等,通過這些技術的沉淀和積累進一步適應高并發和大場景下的需求,然后對業務系統進行很多變更,數據庫團隊也對這些數據庫內部的核心技術做出調整,逐步發展騰訊自有的分布式數據庫TDSQL產品。
公有云業務國內的市場就是2013年到2014年啟動,騰訊也是2013年左右開始做公有云市場。整體思路可能跟之前是相似的,只不過是把原來對內的技術能力通過公有云的方式對外提供,賦能各個行業。除了基于開源IaaS資源層面的輸出,需要把更核心的數據庫能力或者自有能力對外輸出。我們可能在微眾銀行、人口普查、數字廣東系統大量引入騰訊的技術,包括數據庫技術。我們可以通過這些客戶自有的業務特點發現都是新建業務,所以整體的互聯網技術進行賦能的過程中,很多都是賦能新建的這些業務場景,微眾銀行也是比較新的銀行,很多系統都是需要重新搭建的,并不是對已有系統的替換。
在此過程中,我們就有發生互聯網技術和傳統技術的碰撞,但很多之前的技術在向To B行業賦能的過程中并不適合,我們要和各行各業自有業務和不同業務系統的開發人員進行學習和碰撞,最終進行適配,目標還是希望能夠幫助客戶在業務層面達到成功。
我們可以進一步推動國產化,這也是最近兩年正在做的,通過第二階段的打磨,我們確實有一部分的自有業務可以對外輸出,開始就是核心的金融行業。為什么從金融行業開始推動?不知道大家是否知道,國家層面在信創領域下了很大力氣,也有很重要的文件下發到各大金融行業和大型企業,要求大家在2025年之前把核心系統,包括操作系統的硬件和數據庫完全達到國產化替換。金融行業作為大型企業,肯定是需要優先認領國家這些任務,我們也同時適應這種任務的推進。我們是從微眾銀行做起,也是騰訊自有的銀行業務,把數據庫技術向張家港銀行、平安銀行,國有的中行和農行進行復制,最終達到這樣的效果。說明互聯網公司的數據庫不僅能夠服務互聯網能力,也可以影響到實體金融行業,甚至應用到核心關鍵系統里面。
通過這樣幾個階段,我們簡單總結一下:騰訊數據庫第一階段是自給自足,打造騰訊自有業務的堅實后盾,打磨自有的核心系統和核心技術。第二階段是產業互聯網階段,服務各行各業,更多的還是通過公有云的系統進行服務。第三階段開始向私有云、私有化轉移,把互聯網之間碰撞的技術直接私有化,就是有些核心數據或者安全性比較高的系統不用非得上到公有云,可以把整體全套系統進行私有化輸出,能夠在我們自己家的服務器或者數據中心打造自有專有公有云的服務。
總結下來,我們需要保持堅持和敬畏之心,要向不同行業業務保持學習的心態,最終滿足各行各業對技術的要求。
通過這些打磨,我們看一看騰訊To B私有化的產品整體框架,主要分為這樣三層:底層需要適配國產的芯片和硬件系統,可以跟當前主流的國產服務器鯤鵬、海光進行全面適配,騰訊自有研發的產品技術平臺統一輸出。我們對云的需求分為專有云和金融云,專有云就是把整體騰訊公有云完整的技術體系和技術生態復制到自有的數據中心,數據中心并沒有建得那么大,但仍然有專有的訴求,可以直接幫助行業客戶建立行業專有云,也就是金融云,幫助金融客戶建立這樣的自有云。兩朵云的基礎上,我們提供各種各樣的大數據平臺、云原生PaaS基礎技術,也包括國產化TDSQL數據系統,整體的Linux國產操作系統,可以提供敏捷開發的組件,最終還是支撐各行各業自有的核心業務。
看一看TDSQL能夠給大家帶來的技術能力,圖中就是TDSQL產品框架圖,也是按照三層進行劃分。
最重要的就是中間的業務層,TDSQL提供的是全套的數據庫分布系統,包括應用驅動、計算引擎、存儲節點,所以從應用層到計算層和存儲層全面分布式系統適配。不同的點還有不同的技術能力實現,應用驅動層,原有大部分業務系統都是基于Java實現,但在我們進行國產化替換的時候需要換一套全新的驅動才能連接或者訪問全新的數據庫,但這個換驅動的過程可能會對原有的業務系統邏輯造成自己的影響,影響過大的話整個業務邏輯都要重構,這些對企業帶來的成本和替換的復雜度是很高的。
我們在應用驅動層做了大量數據庫兼容的邏輯,就是希望客戶替換數據庫的過程中更加平穩。計算引擎提供多種計算模式,我們有MySQL引擎和PG生態引擎,要想替換Oracle數據庫的話就會用Oracle模式替換。
存儲層就是行存和列存混合存儲,行存就是正常支撐自有業務,更新不頻繁但需要復雜查詢、復雜統計信息的數據適合列存,所以行列混存,放在一套數據庫進行存儲,方便選擇不同的場景和不同的存儲結構。
再往上就是自動化運維的能力,我本身也是數據庫運維出身,DVA很苦惱和困惑的就是怎么調整數據庫,要是數據庫慢了,怎么證明是哪個SQL慢了?應該怎樣優化,指導應用,調整業務達到更好的響應效果?基于這些內部數據庫運維的沉淀,我們提供智能化運維系統,就是生命周期管理、智能運維和調優手段提供全套的平臺。
底層就是異構數據庫遷移的替換過程中需要的不同工具,包括剛才說的智能管家以及SQL開發的工具。
我們的數據庫能力包括高可靠和高可用,這些是數據庫必須具備的,另外就是數據庫分布式架構和性能。騰訊云TDSQL前不久剛拿下全球TDCC榜單,我們已經打破兩年前的紀錄,現在已經達到全球TDCC的第一。我們通過更低的成本,TDCC的指標就是每次計算消耗的成本量更低,我們是降低了一半。我們不僅僅是承擔數據庫,需要對使用者友好,我們啟動智能運維管理能力。我們在企業安全的數據庫層面不能再讓企業操心,整體來說可以從應用系統、數據傳輸系統、數據分析系統更加進一步增強,數據庫系統搭建自有的安全合規數據安全能力。
有了國產化數據庫,怎樣進行替換?我們把這些能力跟已有的核心系統進行替換,我在交流的過程中,很多企業提到一個問題,原來已經購買很多X86服務器,現在進行國產化替換,需要換成鯤鵬服務器和海光服務器,成本到底怎么承接?兩部分的資源池怎么使用?后面的資源浪費能不能提效?避免原有的資產受損?我們最新發布這樣一個能力,就是可以把X86資源池和信創國產化的資源池同時部署,現在還有X86服務器,可以用X86服務器,也可以新建信創資源池,同一個集群通過數據復制在兩個不同的資源池實現并行。達到一定程度以后,我們把整體業務完全切到信創資源池,達到核心系統從上到下全部的國產化。
我們有一云多芯產品能力,實現業務雙軌并行,按需切換。
再說一個難點,也是我跟客戶實際交互的過程中遇到的挑戰。剛才說的可能都是新建的業務系統,我們還有很多年前的業務系統的創建。需要面對歷史的Oracle系統替換,現在看來真的還是挺難的。Oracle本身語法特性比較多,幾十年前的開發是把大量的業務邏輯應用在數據里面。很多邏輯雖然是Java系統,但調用的時候是通過Oracle SQL,1個系統大概有300萬行SQL,完全運行在Oracle數據庫,我們進行替換的話不僅僅是承載數據層面,而是承載整體業務系統的替換。代碼量比較大的話,我們在業務測試的過程中需要更加仔細。我們的解決方案就是內容層面做到語法兼容,性能層面做到形神兼備,樣子兼容不夠,性能上也要和Oracle一致。我們的使用習慣也要進行兼容,因為很多都是Oracle時代過來的研發,一下子切換的話很多習慣不同,需要盡可能勁敵學習成本。
再來看一看我們的幾個系統案例。
政務云的案例是新建系統,整體全面按照國產化的技術實現,應用層面和數據層面全面替換,進行單元化改造,業務單元化+數據庫單元化。
保險行業的案例是將近十五年的老系統,而且還在持續迭代,相信在座的各位也有很多類似的系統,數據量很大,代碼量也很大。我們要求做到業務不動,因為老代碼已經找不到誰來幫忙更新,我們做到數據庫層面的兼容和替換。
兼容性測試通過以后,大部分不兼容的都是通過數據庫內核進行兼容,40%是通過剛才說的應用層面進行兼容,可能還有1%不到的點需要業務真正小改一下。
最后講一講我們的生態策略,我們希望跟合作伙伴共創國產數據庫的市場,也有行業ISV合作伙伴,騰訊提供產品加上合作伙伴共同提供服務的方式,但我更想講的還是這一頁,所以稍微花點時間把后面TDSQL的生態策略跟大家進行簡單的分享。
我們也有看到數據庫的整體推廣,但從數據庫廠商來說,不僅僅是要把產品賣給大家,更希望能夠把整體數據庫技術讓每個客戶都實現自主可控,建立自己的數據庫的運維和技術團隊。我們也可以跟企業客戶去做定向開源,因為社區開源是一部分,當然還有很多核心能力放在商業版,我們也可以定向開源給商業客戶,如果有自己的運營和研發能力可以拿到核心代碼能力進一步學習,甚至定義自己自有的數據庫平臺。當然,有些客戶已經開始跟我們進行類似的合作,不僅僅是我們推動國產數據庫的替換,而是由企業內部自驅的信息部門推動自有的國產化替換,能夠對自己的數據庫技術做到自主可控,提升數據庫研發、運維和服務的能力。
可以看到現在我們已經把行業客戶放在最上面,最下面就是前幾年公有云的客戶衍生的游戲、政企的客戶,自上而下都是整體客戶的演進。