解析金融行業資料庫自主創新路徑

danny_2018發表於2023-04-24

隨著近些年來國內外局勢的變幻,更多企業開始重視IT基礎設施的自主創新。作為涉及國計民生的支柱性產業,金融業尤為關注此點。而在IT基礎設施之中,資料庫更是作為三大基礎軟體之一、交易和資料的主要載體則受到更多的關注。本文在資料庫技術發展趨勢下,結合金融行業特點,闡述金融企業如何做到資料庫自主創新。

在正式展開之前,先談談對“自主創新”的理解。一方面是基礎軟體的供應鏈安全問題:就是採用主權範圍內廠商具有完全智慧財產權掌控力的軟體,不受國外產品和服務體系供應的限制。另一方面企業可根據自主意志,按自己的需求、想法,在不違反授權的情況下,自由地修改和使用軟體,無論是開源軟體還是商業授權軟體。

1. 企業為何需走上自主創新之路

企業選擇走上自主創新之路,是有其內外部原因的。

1)資料庫自主創新關鍵因素

供應鏈安全

近期的諸多事件,給我們帶來頗多啟示,需要更加關注國家級技術供應鏈的安全問題。在極端情況下,無論是商業產品還是開源專案,都面臨同樣的境地,即只與核心技術掌握在誰的手中有關。這裡需要區別的是,核心技術掌握在誰手裡,並不是指原始碼。原始碼不是技術,只是技術的載體。脫離了技術主導者,即便擁有原始碼,也無法持續發展。從企業乃至國家層面來講,只有做到從根本上解決技術供應鏈的安全和可持續發展問題,才能真正意義上實現自主創新。

金融合規需求

金融業,作為資料密集型行業,大量業務依賴於資料的產生與流轉。因而金融業對交易與資料的承載者—資料庫,提出非常高的要求,諸如資料庫的穩定性、可靠性等。此外,金融業的資料通常也具有高價值,因此對於資料安全方面也同樣有著極高的要求。作為涉及國計民生的重要行業,國家也將金融業作為重點監管行業。

金融創新基礎

近些年來,金融業務正在悄然發生著變化。以銀行業為例,過去都是網點靠人工完成拉存款、放貸款等工作;現在隨著網際網路化的轉變,催生如線上銀行、手機銀行、數字銀行等多種業務形式。上述形式對底層基礎設施提出新的要求,如何透過底層技術革命,促使金融服務的方式發生代際更替。作為底層基礎實施的重要組成部分,資料庫也被賦予更高的要求,包括分散式、HTAP 混合負載、多模、智慧應用等能力受到更多關注。這些都對金融企業如何使用好資料庫、乃至如何掌控這一技術棧的發展提出了更高要求。

2)上層引導,國家政策解讀

除了上述因素外,作為金融監管方,國家積極鼓勵金融業技術自主創新。在2022年1月,銀保監會就下發了《銀行業保險業數字化轉型的指導意見》。意見中提出“要加快資料庫等通用軟體技術服務能力建設,提高新技術應用和自主可控能力。堅持關鍵技術自主可控原則,對業務經營發展有重大影響的關鍵平臺、關鍵元件以及關鍵資訊基礎設施要形成自主研發能力,降低外部依賴、避免單一依賴。”

針對開源技術,國家在戰略層面積極倡導企業透過開源促進自主創新能力建設。如2021年出臺的《關於規範金融業開源技術應用與發展的意見》指出:要將開源技術作為金融機構“提高核心自主創新能力的重要手段”,鼓勵金融機構廣泛應用開源技術,同時還要“加強開源技術研究儲備,掌握開源技術核心”,因此在開源技術方面,金融機構不僅不能停滯不前,還要加大技術和資金投入,不斷強化自身在開源技術上的儲備和應用,最終“依託金融業豐富的業務場景促進開源技術迭代升級。”

2. 開源技術促進自主創新發展

資料庫,作為三大基礎軟體之一,其複雜度非常高。企業如何能夠快速掌握,具備自主創新能力非常關鍵,而開源無疑為企業提供一條捷徑。資料庫產品作為一個“需要被用出來”的基礎軟體,透過開源的模式可以帶來三方面的助力:一是規模化場景,透過開源實現快速傳播和部署;二是透明開發的協作機制,透過開源構建全生態,不斷迭代不斷打磨,形成新一代資料生態;三是匯聚創新智慧,讓更多優秀的開發者參與進來,保持資料庫技術的持續領先,與全球領先技術保持同步。在以上三個方面,開源軟體比閉源軟體有很多優勢,其中包含的層面有價格、自由定製、技術支援、安全性以及避免供應商鎖定等。資料庫領域,知名的開源資料庫產品MySQL、PostgreSQL穩居流行資料庫前五名,正是最好的佐證。中國的開源開發者已經成為僅次於美國的第二大開發者群體,並有望在未來10年成為第一,開源已經成為中國基礎軟體實現自主創新的重要路徑之一。

1)正確認知及使用開源軟體

由於一些歷史原因,企業在開源軟體認知和使用上存在些誤區,下面將逐一進行解析。

使用開源不等於自主創新

開源是自主創新的最佳路徑,但使用開源不等於自主創新。開源的本質在於開放、共享、協同,作為一種創新協作模式,開源不僅限於開原始碼的軟體開發,還包括更為廣泛的開放技術領域及協同創新的理念和機制。但企業使用開源產品,並不代表就具備了自主開源能力;廠商使用開源去構建的商業產品,也不能說完全自主創新。這點在後面的“開源路線”中會詳細說明。

開源可用於核心場景

開源不是主流,只會用在非核心繫統,這是給很多企業歷史認知帶來的固有印象。但從軟體本身來講,開源和商業並沒有什麼本質的區別。從本質來講,開源並非一種商業模式,其本質是一種新型的生產協作關係,用來大幅提高軟體供給側交付效率。透過大量使用者的參與,可快速積累測試用例,幫助產品快速成熟。企業對開源不是主流,其本質更多是來自對開源軟體“不可控”的一種擔心。針對這個擔心, 一方面,可透過企業自身加大投入及積極參與開源社群解決這一問題;一方面也可透過使用開源軟體的商業化服務規避潛在風險。

開源需要付出成本

開源是沒有許可或使用費的,但不代表其沒有成本。與閉源的使用成本取決於軟體規模不同,開源的成本則來自於多個方面。一方面,相較於成熟商業產品,開源軟體在前期的選型、評估階段,需要企業投入更多的精力,需要對開源產品有個詳細瞭解的過程;一方面,在後期的使用、維護過程中,也需要逐步培養起企業自身技術能力,這同樣需要投入,擁有懂得開源軟體的開發與維護人才,對很多企業來說本身就是一個門檻。能使用和駕馭開源軟體的企業,往往擁有更強大的創新能力和人才積累。

開源同樣也很穩定

開源軟體有一個完整生態,透過社群完成程式碼的稽核,這使得錯誤會被很快發現並糾正;而閉源則是由軟體開發商完成這一過程,往往耗時很長。透過開源的方式,使用者可更容易地發現定位Bug,並透過開源協作機制更早得解決它們。因此,開源軟體同樣可以做到很穩定。

開源更有利於安全

不同於傳統閉源軟體,開源軟體專案是由多人協作完成,存在程式碼量龐大且功能繁雜的特點,依賴和引用關係複雜。一旦出現安全問題,其安全漏洞的放大作用非常顯著。如果發現開源漏洞,在修復的過程中也需要耗費人力和資源,同時對運維團隊有一定的能力要求。因此,企業使用開源需做好版本管理、許可權分配、資訊防護、安全策略等方面的細緻工作,開源一樣是安全的。任何軟體都有Bug,但閉源軟體因為不透明,Bug往往有更大的致命性,有商業支援的開源軟體的穩定性大多明顯好於閉源軟體。

2)開源需重視供應鏈問題

開源軟體的供給問題正在受到更大的關注。如果開源軟體的供給隱患不解決,無疑是把數字基礎設施建立在沙灘上的城堡。重新審視開源風險問題將成為國家軟體供應鏈安全的重中之重。針對開源軟體可能面臨的“斷供”、“後門”等問題值得關注。近年來開源軟體供應鏈事件頻發,伴隨著“開源無國界”的理想主義受到現實的挑戰,開源軟體供應鏈安全問題值得深思。按照美國出口管制條例的規定,所有“公開可獲得”的原始碼(不含加密軟體以及帶加密功能的其他開源軟體),都是不被出口管制的。但如果一個開源專案或開源組織宣告遵從美國的出口管制條例,此時一旦美國修改條例,將一些核心基礎軟體加入到管制中,那麼大量核心開源專案將受到出口管制。只有在核心領域掌握核心技術,才能在關鍵時刻不受制約。因此,從長遠來看,要擺脫依賴,消除開源背後深層次的Bug,還需要從核心技術自主創新入手,構建安全可靠的底層資訊科技體系,保障關鍵資訊科技實施的安全和完善。

3. 解讀資料庫的自主創新路徑

1)開源助力資料庫自主創新

如之前談到的,資料庫作為大型基礎軟體,其複雜度非常高。如果實現“彎道超車”,開源無疑是一條真正的可持續發展路徑。在國產化訴求日益高漲的背景下,越來越多的金融企業開始關注開源資料庫的使用。正是透過開源協作、創新與人才培養等方面的增益,加速了自主創新的程式。根據第三方機構DB-Engines的調研,2021年全球的開源資料庫的部署數量已經超過商業資料庫,MySQL、PostgreSQL 開源資料庫是佔據排名前五的兩大群體,也是兩個最大的公有云資料庫服務群體。國內的資料庫廠商及有實力的使用者,對自研產品也紛紛採取開源策略,透過構建生態,加速產品推廣普及。透過產、學、研、用相結合,促進國產資料庫的整體發展。

在金融行業,原有集中式資料庫技術高度依賴於國外廠商,IT團隊缺乏自主創新能力,在一定程度上存在資訊保安的風險,也無法滿足行業國產化的要求。近些年來,隨著資料庫領域技術迭代,以雲原生資料庫、NewSQL、分散式資料庫等具備業界代表性的一大批國產資料庫產品進入人們的視野,實現了換道超車。國產資料庫經歷多年的打磨,已具備成熟、可持續發展的生態,在銀行、保險、證券等金融行業有許多成功案例,其中包括銀行核心系統案例,其穩定性、可靠性已得到驗證,可以滿足金融級資料庫的要求。可以說國產資料庫已成為自主創新主力。

正如同電動車針對燃油車的跨越替代,新一代國產資料庫正在透過技術升級迭代的方式替代傳統集中式資料庫。從全球技術趨勢來看,以分散式、雲原生、 HTAP混合負載、AI&DB、多模等為代表的新技術正在資料庫領域取得突破性進展。中國作為全球數字經濟最為活躍、資料規模最為龐大、資料場景最為多元的市場,大大促進了資料庫的技術發展。如何在技術上保持持續領先,符合資料庫技術長期發展路線,也是企業必須考慮的問題。因而,在企業考慮自主創新的同時,要清醒地認識到自主創新不是要替換別人的過去,更是要創造自己可持續的未來。不要將自主創新簡單理解為“產品換產品”的定位,而是對透過自主過程掌握核心技術,真正做到可持續的可控

2)依賴“引用開源”存在風險

作為最為流行的兩款開源資料庫,MySQL和PostgreSQL擁有著龐大的使用基礎。很多國內的商業產品採用了基於這兩者之上進行構建,或者採用相容這兩款資料庫生態方式。無論是哪種方式,都是想充分利用這兩者的廣泛的生態效應。針對後者而言,如果程式碼是完全自研,因而對於自主創新還好;但對於前者就需要充分考慮風險問題。據國內某三方組織調研的200多款國產資料庫,其中多數是在國外開源資料庫基礎上開發而成。大部分其上游開源產品就是採用MySQL或PostgreSQL。其上游的生態社群仍然是由國外控制,對下游資料庫產品的供應鏈安全存在一定影響。從一些業內人士反饋資訊看,有些短期內就可能存在生態停滯問題,有些從中長期發展角度會受到制約。與之對應的完全國產自研廠商,透過自主設計資料庫底層架構、研發資料庫核心,並主動開源的中國資料庫,在對程式碼完全掌控的同時,擁有對供應鏈上游的開源社群的絕對控制權,對產品未來研發方向擁有絕對主導權和話語權,是國產資料庫實現供應鏈安全的必要且最佳手段。

MySQL和PostgreSQL在開源風險方面又有所不同。PostgreSQL採用的許可是一種更為自由的開源許可,與BSD或MIT許可證類似,其全球開發小組主要成員分佈在世界各地,其背後不受任何公司實體控制。與之對應的MySQL,則是同時使用了GPL和一種商業許可(即雙許可模式)。GPL是公共許可,遵循GPL的軟體是公共的。如果某軟體使用了GPL軟體,那麼該軟體也需要開源。如果無法滿足GPL,則需要獲得商業許可。MySQL是被Oracle公司控制,要獲得商業許可需與Oracle公司聯絡,並受到Oracle公司約束。因而從開源角度來看,MySQL的開源風險要高於PostgreSQL。針對MySQL的風險問題,一直是科技從業者比較關注的。根據MySQL開源遵循的GPLv2許可證約定,老版本MySQL是無法變更開源許可證或閉源;針對新版本則不排除這種可能,畢竟是受到Oracle公司約束。從MySQL 的開源生態最近一年來活躍度下降的趨勢來看,未雨綢繆,從國內使用者角度來看,儘早建立國內自主創新的MySQL 相容的生態體系,進而透過國內的MySQL 相容的自有生態,服務好龐大的MySQL群體成為當前重點。從國內廠商角度來看,需要遵循GPLv2的所有規定和約束,就不會觸發智慧財產權層面的爭議,可以合法自由地使用MySQL原始碼。

3)“自主開源”路線優於“引用開源”

從目前國產資料庫的開源技術路線上,要存在兩大類別的,分別是“引用開源”和“自主研發+自主開源”。目前多數的國產資料庫採用的是“引用開源”型別。作為後者,從使用者角度需要更多關注其對於原始碼的掌控能力。可從以下角度進行判斷,如是否具有覆蓋整個資料庫全部技術棧的研發團隊?資料庫周邊開發、測試工具平臺是否自研或採用國產廠商產品?其是否掌握軟體全部程式碼及檔案,包括相關版權、商標和專利,無智慧財產權糾紛?如引用國外開原始碼,是否符合國際開源政策,符合相關國家進出口條例,合法合規等。只有這樣,才能對資料庫產品是否做到真正自主創新,有個全面準確的瞭解,這也是金融企業評估考察的重點。說到底,做到全方位自主創新需要一個完整的體系化團隊,對比Oracle 等資料庫廠商動輒1、2萬人的規模,很難想象一個低於300人規模的資料庫公司可以維護一個完整的開源技術創新體系。

4.結語

自主創新、自主研發是一條艱難卻必須走的發展道路。近年來,在國家創新驅動發展戰略指引下,自主資訊科技發展取得較大進展,與此同時我們也應認識到,我國整體自主創新能力、研發能力與已開發國家相比仍存在一定差距,核心關鍵技術的創新能力不足,自主創新依舊任重道遠。希望國產資料庫產業界同仁應把自主研發、自立自強作為發展的根本基點,去深耕、去攻關、去突破!讓中國在自主資訊科技體系建設的道路上走得更穩健、更自信。

來自 “ twt企業IT社群 ”, 原文作者:韓鋒頻道;原文連結:https://mp.weixin.qq.com/s/Bg9oQ8y_H0loxAOInffuzA,如有侵權,請聯絡管理員刪除。

相關文章