文/羅華群
信息安全是國家安全和社會穩定的基石和命脈,針對網絡安全、信息系統自主可控(國產化)要求政策頻出,國家對自主可控給予高度重視,政策支持力度不斷,加速國產替代進程。2013年“棱鏡門”事件敲響了我國的信息安全警鐘。2016年12月《“十三五”國家信息化規劃》中要求全面增強信息領域核心技術設備自主創新能力,打造自主先進的技術體系。2018年3月,國家成立中央網絡安全和信息化委員會,體現信息安全已成為國家戰略。數據庫作為政府電子政務信息系統核心軟件,如果使用國外數據庫產品,源代碼在外國人手上,容易造成信息泄露,為保障國家信息安全和社會穩定,特別是在政府電子政務信息化領域,必須要提高信息系統安全可靠和自主可控能力。
在我國20 多年電子政務信息系統建設中,基礎軟硬件大都是使用國外產品,當業務系統需要個性化定制時,國外軟件公司基本不提供服務,如果國外產品全面升級,則涉及到高額的服務費或面臨無技術支持的兩難境地。特別是在我國銷售的國外數據庫安全級別不高,這對政府部門相關系統數據安全是一個不容回避的問題。
本項目是上海市某區人民政府辦公室為保障政務數據安全,強化安全可靠保障,以及推動國產基礎軟件在電子政務信息化建設中的全面應用,將電子政務綜合應用平臺從國外Oracle 和SQLServer 數據庫移植到國產金倉數據庫KingbaseES 上,實現國產化替代和性能優化,達到國家信息系統數據庫三級等保建設標準。
在項目改建過程,數據庫安全要滿足國家信息系統中數據庫三級等保建設標準。具備完善的身份鑒別、訪問控制、數據保密措施、實現三權分立審計機制,避免人為錯誤引發數據安全漏洞或隱患。
電子政務綜合應用平臺在網絡穩定的環境下,業務操作流程響應時間不大于2 秒,一般控制在1 秒內。10 萬條數據的查詢計算少于10 秒,100 萬條數據的簡單查詢計算少于20 秒。系統支持不少于500 個并發用戶同時使用。滿足7*24 小時不間斷運行需求。

圖1:金倉數據庫集群部署架構圖
我國數據庫軟件技術相關發展,經過四十多年的不懈努力,相繼經歷了起步、跟蹤、追趕和并跑4 個階段,已取得了長足進步,以金倉數據庫KingbaseES 為代表的國產數據庫產品,經過多年的技術研發和產業推進,產品已經相對成熟,已經在政府、軍工、電力、金融等領域有一大批成功應用案例。KingbaseES產品完全符合國際標準的SQL 語言及豐富多樣的數據訪問接口,高度兼容Oracle、DB2、SQLServer、MySQL 等為代表的國際主流數據庫產品,屏蔽了金倉數據庫與國外產品之間的差異,基于高兼容性特點,大大減少了應用開發和應用移植的成本,也使得應用開發人員、數據庫系統維護人員在使用和學習金倉數據庫的難度降低。
在上海某區政府電子政務綜合應用平臺中,數據庫應用架構如下圖1所示,利用金倉數據庫KingbaseES 采用自主研發的STANDBY 技術設計集群部署,實現數據庫服務高性能、高安全、高可靠、高兼容性要求;保障數據庫服務7*24 小時不間斷運行,在系統本身故障、應用層錯誤、網絡錯誤、人為錯誤等情況下,數據庫系統的高可用性。
3.2.1 海量數據處理技術
基于KingbaseES 水平分區技術,以及分區表全局索引的索引優化技術,索引覆蓋、支持跨庫查詢、數據壓縮和列存儲等技術特性和優化手段,數據庫單節點可輕松管理TB 級數據,滿足海量數據的存儲和管理功能。
3.2.2 高并發、大容量讀寫技術
為實現多個用戶的并發控制,讀寫操作不再相互阻塞,KingbaseES 采用了兩階段封鎖技術(2PL)和多版本并發控制技術(MVCC)相結合的讀寫技術(MV2PL),提高并發事務的處理能力。
3.2.3 高可靠性技術
針對數據庫意外停機、系統崩潰或存儲介質損壞等這些故障,KingbaseES 提供了完整的物理備份與恢復技術、基于時間點的系統恢復技術和邏輯備份及還原技術,以及自主研發的STANDBY 技術+HA 集群部署能力,實現服務7*24 小時不間斷運行。
3.2.4 高安全技術
在數據庫安全方面,國外數據庫廠商在我國銷售的數據庫產品的安全級別只能達到TCSEC 認證C1 或C2 級,不能很好滿足政府電子政務信息系統中三級等保的高安全要求。KingbaseES 是自主研發高等級的數據庫安全產品,通過數據庫等保四級技術要求測評,該級別近似等同于TCSEC 認證B2 級。
3.2.5 高兼容性技術
基 于 國 外Oracle、SQLServer 數 據 庫的業務系統功能模塊多、復雜度高特點,KingbaseES 在SQL 標準符合度95%以上,并兼容各種主流的開發語言和接口,屏蔽了KingbaseES 與Oracle、SQLServer 等國外數據庫產品之間的差異。
上海某區電子政務綜合應用平臺國產數據庫代替工作,涉及數據庫移植、應用系統移植、功能測試與排錯、性能測試與優化幾項工作。
4.1.1 數據庫移植工作
數據庫和模式是各種SQL 和PL/SQL 數據庫對象的存放容器,而用戶是這些對象的管理者和使用者。因此,在遷移數據庫對象之前,一般應先遷移數據庫、用戶和模式。先在目的數據庫KingbaseES 上創建與源數據庫Oracle、SQLServer 同名的數據庫、用戶和模式,并授予新建用戶具有使用該數據庫和新建模式的所有或適當的權限。在遷移數據庫、用戶和模式以后,則可通過遷移用戶開始遷移數據庫的SQL 和PL/SQL 對象。這些對象是數據庫系統的核心資源,可利用遷移工具對它們進行自動遷移。這類對象主要包括用戶表、各種約束、索引、GRANT 權限和視圖等。數據庫復雜對象,一般各個數據庫廠商都采用各自特有的實現方式,沒有遵循統一的標準,因此在異構數據庫之間遷移這類對象很難采用自動化方式,只能采用手動或半自動化方式實現。這類對象主要包括序列、同義詞、數據庫鏈接、觸發器、函數、存儲過程和包等。
4.1.2 應用程序程序移植工作
在完成數據庫對象遷移以后,才可開始遷移應用程序,主要原因是:在用程序中,可能會訪問和操作前面遷移的數據庫對象。主要包括接口驅動程序和連接方法的移植,以及源庫擴展或私有的API 移植。在實際應用中應用程序移植與移植系統測試與調試交叉進行。
4.1.3 功能測試與排錯工作
任何一個成熟的應用系統如果代碼、尤其是關鍵代碼變動后,則應進行全面細致的測試。類似的,更換新的后臺數據庫系統以后,也應對移植后的數據庫系統進行全面的功能和性能測試。功能測試是指對移植數據庫系統的每一個模塊和功能進行全面的系統回歸測試,用以確保新系統各個功能的正確性。因此,完成數據庫對象和應用程序遷移后,應對移植系統進行全面的功能測試,并對測出問題及時分析、排查和修改。
4.1.4 性能測試和調優工作
在完成移植系統功能測試后,在實際或模擬生產數據上,對移植系統進行的性能測試和調優。利用TPCC 測試工具,如LoadRunner等對移植系統進行測試。對未達到性能指標的功能模塊及其SQL 語句進行優化并給出相關建議。建議性能測試時,測試數據規模、軟硬件配置應盡量與將來的實際生產環境一致。必要時,在未來一年、兩年、五年等不同模擬數據規模場景下,應分別測試移植系統的性能指標,用以保證移植系統未來仍能具有良好的性能表現。
4.2.1 查詢優化應用
數據庫查詢優化是關系到整個系統性能體現,特別是復雜SQL 語句的執行性能非常重要。金倉數據庫KingbaseES 采用的技術主要包括:
(1)數據查詢優化。KingbaseES 是采用執行計劃代價計算模型進行優化,它的基本思路是:對于查詢語句,首先會有多個執行計劃處生成,然后依據系統收集的各種統計信息估算每個計劃的代價。最后,查詢優化程序自動按預定義的啟發式規則從中選擇次優或最優的執行計劃。
(2)SQL 語句重寫。KingbaseES 查詢優化器可依據預先定義的啟發式規則重寫用戶的SQL 語句,它的基本實現思路是:優化器依據預先定義的啟發式規則,采用顯著減少掃描、連接或聚合的次數等優化機制,將SQL語句轉換成執行結果相同,但執行效率更高的新SQL 語句。
就在今年的9月3日,投產僅半年的天津LNG接收站外輸氣量已突破10億立方米。天津LNG接收站是國家“十三五”重點項目,一期工程設計年接轉能力300萬噸,相當于40億立方米天然氣,對保障我國能源供應具有重要意義。日均外輸量已達1500萬立方米,日計劃完成率100%。
4.2.2 緩存優化應用
在數據庫性能優化技術中,緩存優化是其中非常重要的技術。通過KingbaseES 從多角度實現該技術,從而有效減少了系統的磁盤I/O 壓力,采用的技術主要包括:
(1)數據緩存優化。隨著處理器性能的不斷提高,數據庫在磁盤I/O 讀寫上在性能瓶頸更加突出。針對這一問題,KingbaseES 進行緩存優化配置,把系統內部的統計信息把經常訪問的用戶數據放在內存,而把不經常訪問的數據放在外存,以便在SQL 語句執行過程中盡可能提升內存緩沖區的命中率,減少系統對磁盤的訪問次數,從而有效應對I/O 瓶頸。
(2)結果集緩存優化。若能重用其他查詢語句的執行結果集,則不僅能節約執行計劃計算時間,還能節約該計劃的執行時間。在內部實現上,KingbaseES 采用鍵/值方式存放需緩存的結果集。其中,鍵既可用查詢,也可用查詢執行計劃標識。當采用執行計劃做鍵時,這類鍵一般會占用較多的存儲空間。為減少這部分空間,KingbaseES 對它們進行了MD4 或者SHA1 摘要處理,從而有效提升了系統能緩存的結果集個數。
4.3.1 強化身份鑒別應用
金倉數據庫KingbaseES 進行強化口令的身份鑒別設置,包括對數據庫用戶密碼復雜、密碼有效期、用戶鎖定等進行安全設置。通過強化身份鑒別與SSL 安全傳輸相結合,KingbaseES 建立了服務器與客戶端的可信路徑安全通道,實現了雙向可信認證,杜絕假冒用戶身份或者假冒數據庫服務器的惡意行為,并進一步防范這些惡意行為可能引發的重放攻擊。
4.3.2 管理特權分立應用
數據庫系統中用戶權限主要分三種,即數據庫管理員(DBA)和數據對象屬主用戶以及被對象屬主授權的其他用戶。在這種機制下,只要獲得管理員權限,整個數據庫系統便被完全控制,容易造成嚴重的后果,不符合安全系統的“最小特權”原則。針對這個問題,KingbaseES 對管理員的權限進行了分割與限制,提出一種基于特權分立的全新管理模式。這種模式包括兩部分內容,即三權分立和受限DBA。這二者間的關系是:受限DBA 把三權分立中的DBA 權限進行了分割,分為弱化的DBA 權限和屬主權限;數據庫管理員(DBA)、安全管理員(SSO)和審計管理員(SAO)三個角色各行其責,相互排斥,相互制約,繼而避免了數據庫管理員權限的濫用,導致安全隱患。
4.3.3 安全審計應用
審計是應對這種情況的一種常用安全保障措施,因為沒有百分百安全措施,想要故意破壞或盜竊數據的人會想盡辦法打破控制。基于KingbaseES 進行安全審計功能配置,定義與數據庫安全事件相關的審計規則,通過檢查和分析審計日志,提前采取有效的措施對潛在的威脅加以防范,進行全面監控與審計數據操作和用戶行為。
4.3.4 數據庫存儲保護應用
用戶數據是數據庫系統的核心資源,其安全性對整個系統至關重要。通常,用戶數據中包含具有保密要求的重要信息,如商業秘密信息。一旦這些信息被竊取或篡改,將給用戶造成極大損失,甚至帶來災難性的后果。因此,保障用戶數據安全是非常必要的。KingbaseES為用戶數據提供多方位的保護,有效杜絕對惡意用戶對存儲數據的非法竊取及外部破壞和篡改,采用的保障措施如下:
(1)數據存儲完整性保護。通過在每個數據塊頭增加“數據水印”,KingbaseES 實現了數據存儲過程中的完整性校驗和保護。每次讀磁盤時,自動進行數據水印校驗;每次寫磁盤時,自動更新數據水印。這樣,可以有效杜絕來自數據庫外操作系統層的非法篡改,整個過程對用戶完全透明。
(2)數據存儲透明加密。KingbaseES 支持IDEA、DES、AES、RC4 和SM2 等多種加密算法,對數據庫存儲信息進行加密保護。針對特定的表、函數、存儲過程、表空間進行加密設置,加解密過程對用戶完全透明,支持帶密檢索。系統密鑰管理中,加密數據的密鑰在運行時生成,由加密模塊自行完成,為避免單點突破不同數據對象,可采用“一表一密”不同的加密密鑰,使密鑰的安全性得到有效保證。
在本項目中,金倉數據庫KingbaseES 產品具備高兼容特性,利用金倉數據遷移工具,很容易將Oracle、SQLServer 數據庫平滑移植到KingbaseES 上,完成電子政務應用適配;KingbaseES 具備數據庫等保安全四級認證,與在我國銷售的國外數據庫安全級別相比,具備更高安全優勢,增強了系統中數據庫的安全性;提供本地化技術支持和代碼級優化服務,保證了項目順利改造和成功上線運行。
近年來,中美貿易摩擦不斷發酵,為彰顯我國在戰略性高新技術產業中實現自主可控的重要性,相關軟硬件加快國產替代刻不容緩。因此,在電子政務信息系統中采用自主可控金倉數據庫KingbaseES 替換國外產品,對于實現國產化替代、打造自主可控的IT 環境有著非常重要的措施和布局。
上海市某區政府電子政務綜合應用平臺國產化改造上線運行至今,整體運行穩定,滿足系統功能和性能要求,電子政務核心應用采用國產金倉數據庫完全有能力支撐;因此,基于國產金倉數據庫KingbaseES 應用解決方案面向市場,面臨的最大問題不是技術上的障礙,而是廣大用戶對于國產軟件不夠了解,應用上缺乏信心。國產數據庫在努力做好產品、做好服務的前提下,應大力宣傳產品及方案的可用性,樹立品牌,打消用戶的顧慮。同時,國產數據庫軟件的應用和推廣,對于我國基礎軟件產業競爭力的提高,滿足政府重要信息系統自主可控和安全可靠的需要,保障國家信息安全,具有積極而深遠的意義。