一文解讀《數(shù)據(jù)庫政府采購需求標準》
原創(chuàng)近日,財政部聯(lián)合工業(yè)和信息化部共同印發(fā)《數(shù)據(jù)庫政府采購需求標準(2023)》。這為很多政府機構采購數(shù)據(jù)庫提供了統(tǒng)一標準,也為其他行業(yè)采購起到了一定示范作用。對廣大數(shù)據(jù)庫廠商而言,無疑具備非常好的指導意義。下文將從政策本身及對應技術能力角度,談談個人對這一標準的解讀。
一、采購需求標準:政策篇
關于此次下發(fā)的政府采購標準,可參考下面的詳圖。這里僅談談從文字上可得到的直觀信息。
? 適用范圍:政府部門
此次下發(fā)標準的適用范圍為政府部門。采購人在采購數(shù)據(jù)庫是都應遵循這一采購標準。
? 采購原則:分包采購
此次下發(fā)標準明確,無論是采購軟硬件產(chǎn)品、集成服務項目亦或是達到采購限額,都應獨立分包采購。
? 采購標準:采購指標
此次下發(fā)的標準中,部分指標標記為"*",即作為強制采購標準;非標記指標,可根據(jù)需要選擇納入采購標準。標準也說明用戶可增加新的指標或?qū)σ延兄笜颂岢龈咭?,但不應超過實際需要。后面技術部分,將針對指標做更詳細的分析說明。
? 回應形式:承諾函
在招投標環(huán)節(jié)中,供應商通過提供的承諾函來回應采購標準,并被視為產(chǎn)品符合要求。采購商不的對數(shù)據(jù)庫進行檢測、認證或要求廠商提供檢測、認證報告。這一要求無疑對數(shù)據(jù)庫廠商是利好的,減少大量重復的資源投入。
? 驗收形式:用戶或三方
在驗收環(huán)節(jié),用戶需嚴格履行驗收職責,自驗或委托三方機構進行驗收。
二、采購需求標準:技術篇(總覽)
此次下發(fā)標準中,包含兩種標準、分為五大類、二十四小類標準。下面針對整體技術指標進行一些說明
1、兩類標準:集中式、分布式
此次下發(fā)兩類標準,分別是面向集中式數(shù)據(jù)庫和分布數(shù)據(jù)庫。在具體的采購需求標準(簡稱指標)中,絕大部分都是相同的,只稍有差異。其中,集中式是108條指標、分布式113條指標,相同指標有107條,差異部分主要體現(xiàn)在集群管理部分。集中式有基于共享存儲的管理標準,分布式則增加了對數(shù)據(jù)分布、數(shù)據(jù)重分布、分布式計算、集群擴展等指標,具體指標解讀參見后文。
2、指標分析:5大類,24小類
下發(fā)標準中共制定了114項指標,分為五大類,分別是功能要求、可靠性要求、安全要求、服務要求和兼容要求;在每個大類中又進一步細分為若干小類,共計二十四小類。下圖根據(jù)指標的大類小類分布情況做了個比例圖。
3、關鍵屬性:必選指標集中
在下發(fā)標準中,通過指標比較星號,區(qū)分是否為必選指標。即標記星號代表指標必須納入采購需求指標;未標記星號則代表指標為非必含項,由采購人根據(jù)實際需要自行確定是否包含在采購需求中。從必選指標的范圍來看,主要針對服務能力、兼容要求以及穩(wěn)定運行等限定嚴格,更為強調(diào)其必要性。下圖按照功能子類及子類內(nèi)必選與必選指標的分布,加以圖示說明。
4、關鍵屬性:評分項少之又少
在下發(fā)標準中,還標注了那些指標是設置為評分項。標記為是,則代表該指標采購人可以根據(jù)實際需要在采購文件中設為評分項;否則則代表該指標不能設為評分項。從標準的114個指標中,能作為評分項的少之又少,目前僅有硬件兼容、供應鏈保障、容災能力(同城和異地)以及安裝升級中的兼容性(多CPU架構)做出評分項選擇??梢钥闯龉俜奖M量減少的評分范圍,僅選擇更為有利于國產(chǎn)化硬件、運行安全及服務保障范疇的指標作為評分項。
三、采購需求標準:技術篇(詳解)
下面針對下發(fā)標準的114個指標項加以簡單分析。
1、功能要求
? 安裝與升級
數(shù)據(jù)庫安裝與升級屬于常規(guī)要求,這部分指標應大體都無問題。需要注意的是升級能力,國產(chǎn)數(shù)據(jù)庫不可避免會面臨功能的修改,因此平滑兼容的升級能力很重要,此外也需要說明升級的功能變化。還有就是安裝升級中的硬件兼容性,即可以支持多種架構CPU條件下的安裝,這對于當前自主可控的大背景尤為重要。這點也作為的關鍵評分項;但比較奇怪的是未作為必選指標。
? 數(shù)據(jù)配置
這部分就是對數(shù)據(jù)庫的各類參數(shù)進行配置,包括對常規(guī)參數(shù)以及針對存儲、內(nèi)存方面的特有配置。個人感覺,目前很多數(shù)據(jù)庫(特別是分布式數(shù)據(jù)庫),都支持不同角色(如存儲節(jié)點、計算節(jié)點等),因此參數(shù)配置應區(qū)分并分列,這樣便于用戶理解和配置。
? SQL 功能
這部分包括數(shù)據(jù)類型、SQL 語句、字符集、操作符、執(zhí)行計劃等,就是數(shù)據(jù)庫基礎能力。這里面比較受關注的點一是針對擴展數(shù)據(jù)類型的定義、存儲、檢索的支持,隨著用戶場景的復雜,擴展數(shù)據(jù)類型成為一種必然;二是字符集支持,去年也有不少國內(nèi)廠商通過了中國強制字符集標準GB 18030-2022;三是針對 SQL 執(zhí)行計劃干預能力,這樣可以有效解決數(shù)據(jù)庫優(yōu)化器能力不足或Bug所導致的執(zhí)行路徑異常,可快速解決用戶問題。
? 數(shù)據(jù)對象
數(shù)據(jù)對象部分,則包括從表、分區(qū)、視圖、索引、序列、觸發(fā)器、存儲過程等。一方面是對這些對象的支持情況,一方面是對這些對象的變更、查看、完整性管理的能力。這其中有幾個難點,一是分布式數(shù)據(jù)庫對于部分對象的不支持(如索引、視圖、庫內(nèi)計算),這也是很多從集中式數(shù)據(jù)庫遷移到分布式數(shù)據(jù)庫必須面臨的問題;二是對于在線重定義的支持,特別在分布式架構、海量規(guī)模情況下尤為重要。
? 事務能力
標準的 ACID 能力,也是對數(shù)據(jù)庫的基本要求。前兩年在對國產(chǎn)數(shù)據(jù)庫評測時,出現(xiàn)過部分問題,但隨著各廠商產(chǎn)品的完善一般都沒有太大問題。死鎖則是另一個痛點,部分廠商產(chǎn)品還有明顯缺陷。
? 運維
運維方面包含的內(nèi)容很多,標準把運維方面的重點放在信息的獲取、告警方面。強調(diào)了從主機、系統(tǒng)、實例、語句多維度獲取數(shù)據(jù)以便于運維保障,比提供遠程運維能力以及針對語句的運維能力。從現(xiàn)狀來看,分布式架構產(chǎn)品存在一定短板,主要是因為其組件多、受基礎環(huán)境影響大等原因,對信息輸出進而診斷的能力顯得尤為重要。很多產(chǎn)品是將信息做了輸出,但如何快速識別、快速定位、快速診斷并進而解決問題,還是困擾著很多用戶。這方面確實可以向如 Oracle 這些老牌數(shù)據(jù)庫產(chǎn)品學習。
? 遷移
遷移部分分為兩塊,一是邏輯的遷移(如應用及SQL),一是數(shù)據(jù)的遷移。前者強調(diào)通過工具或其他手段降低遷移難度及工作量,加速遷移過程,保障遷移質(zhì)量;后者則是針對數(shù)據(jù)對象結(jié)構遷移、數(shù)據(jù)本身遷移問題,需保證遷移前后的數(shù)據(jù)一致是問題關鍵。此外針對數(shù)據(jù)比對,標準還特意列出了兩條,足見其重要性。很多國內(nèi)產(chǎn)品都提供的生態(tài)工具來支持上述兩種訴求。
? 備份恢復
備份恢復領域,標準提出了對數(shù)據(jù)備份、備份集管理、細粒度、多介質(zhì)支持等能力要求。
? 集群管理
在集群管理方面,分布式與集中式數(shù)據(jù)差異明顯,因此在標準上也提出不同要求。除了支持常規(guī)的集群創(chuàng)建、管理及擴展能力(讀寫分離)外,集中式重點強調(diào)了對共享存儲架構的支持,這也是國內(nèi)產(chǎn)品之前的短板,通過類似 RAC 的架構,可以滿足大部分用戶的場景需求。分布式則是強調(diào)了“彈性”。即通過數(shù)據(jù)分布下,通過針對存儲、計算的擴展能力來滿足用戶需求,且這一過程中應做到用戶“無感”。
? 工具
好的數(shù)據(jù)庫產(chǎn)品,還需要上下游生態(tài)工具的配合,標準中針對用戶常用的生態(tài)場景提供了工具化的要求。這里覆蓋從數(shù)據(jù)庫開發(fā)、運維、優(yōu)化等多種面對不同人群、不同場景的工具。在這方面國內(nèi)很多產(chǎn)品通過生態(tài)兼容方式做了支持,即通過兼容流行開源數(shù)據(jù)庫產(chǎn)品或主流商業(yè)數(shù)據(jù)庫產(chǎn)品的方式快速支持,這也是一條相對的捷徑。
? 圖形化管理
圖形化管理能力,是有效降低產(chǎn)品使用難度,提升易用性的手段。標準中也將常用的圖形化管理需求進行了整體,這里重點強調(diào)對運維和開發(fā)的支持。這方面國內(nèi)廠商產(chǎn)品也大多提供了此能力,也有部分三方數(shù)據(jù)庫管理廠商也提供了此能力。完善的圖形化管理,將有效降低用戶使用門檻。
2、可靠性要求
? 穩(wěn)定運行
穩(wěn)定運行是對數(shù)據(jù)庫的基本要求,標準中也提到了。但這部分在落地時比較難解讀,很難通過一個具體指標來反映數(shù)據(jù)庫的穩(wěn)定運行能力,更多是通過之前長期運行的實踐案例加以說明。
? 故障切換
在故障切換角度,標準提出了對快速切換能力及切換時業(yè)務受損情況做出要求,但這里未明確具體的故障切換指標,如 RTO、RPO 的情況,下文在容災部分進行了詳細的說明。
? 容災能力
在容災方面,是標準提出較為嚴格的部分。針對分布式和集中式數(shù)據(jù)庫提出了基于副本復制、日志復制的具體要求,來保證容災能力。對于實例級的容災要求,明確提出了RPO=0、RTO<30秒的明確指標。針對容災方式,同城和異地都提出了明確要求,并作為評分項強調(diào)。這也是保證整體可用性的底線要求。
? 容錯性
針對不同故障情況,標準提出了具體要求。例如針對處理邏輯異常、網(wǎng)絡異常、系統(tǒng)異常、存儲異常等都有一定要求。針對發(fā)生故障時,還提出了檢測及恢復的要求。
3、兼容要求
? 軟件兼容
多種部署平臺,對用戶來說可以有更多的選擇,因此對未來用戶可能選擇的云化部署做了要求。
? 硬件兼容
在硬件兼容方面,重點提及了對CPU的支持,即支持多種不同框架的CPU。這對于國產(chǎn)化硬件適配具備重要意義,也作為評分項強調(diào)下。目前國內(nèi)很多產(chǎn)品都在做對國產(chǎn)硬件(特別是CPU)的適配兼容驗證工作。
? 標準兼容
對開發(fā)者而言的數(shù)據(jù)庫連接標準。
4、服務要求
? 服務周期為了解決用戶擔心的服務時限問題,標準明確給出了產(chǎn)品維護、服務、延伸服務、安全服務及最小保障期要求。通過對服務周期的多方位要求,可保障產(chǎn)品在相當長時間內(nèi)可以持續(xù)為用戶服務,打消用戶的疑慮。但這里有個擔心,很多國內(nèi)產(chǎn)品是比較新的,尚沒有經(jīng)歷一個完整周期,如何保障這一點很多還是依靠用戶的聲明而已。
? 交付方式
提供離線介質(zhì)的交付形式。
? 供應鏈與服務保障
在服務保障方面,特別提及了應用鏈和服務保障安全,并作為評分項強調(diào)。標準中詳細說明了需要提供的服務支持方式、時效性、團隊組織、開源商業(yè)問題等。這些核心都是支持“兜底”能力,只有這樣用戶才可放心使用。特別是針對開源部分,還提出了對安全性和知識產(chǎn)品的審核要求。此外,其他服務形式如定制、駐場等,也做了標準說明。
5、安全要求
? 基本要求
安全部分的基本要求,提到需滿足安全評測要求。
? 基礎安全
基礎安全部分,則提出了三權分離、漏洞管理機制及身份認證等問題。
? 增強安全
增強安全部分,則相對要求寬泛,覆蓋了防篡改、全密態(tài)、加密、脫敏及數(shù)據(jù)可恢復能力-閃回的要求。很多數(shù)據(jù)庫產(chǎn)品的這部分能力是通過第三方平臺來完成,自己尚不具備這一能力。