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