李春偉/華潤(集團)有限公司
在數字化轉型時代下,海量電子檔案收集、保管、利用高度依賴于功能完善、快速流暢、安全可靠、低成本的檔案管理系統。對于企業集團而言,出于統一管控、規范治理、共享利用、提高效率、節約成本等需求考慮,檔案管理系統采取“統一建設、集中部署”模式成為首選。隨著歸檔數據量、用戶數量的劇增,特別是各類業務系統形成的海量電子文件歸檔后,檔案管理系統的性能、穩定性受到嚴峻的挑戰,嚴重影響電子檔案的收集、保管、利用,需要引起充分的重視并采取有效措施解決。
2021年,筆者所在單位華潤(集團)有限公司(以下簡稱“集團”)建設了基于五庫分離架構的電子檔案管理系統2.0。集團作為國資委直接監管的國有重點骨干企業,具備業態多、層級多、用戶多等特點,面臨著歷史檔案存量大、新增速度快等問題。在建設完成后,有效提升系統性能,實現了高性能、高并發、高可用、快速響應,從而滿足企業集團十億、百億級檔案數據的高并發讀寫、高效檢索、低成本存儲的需求。
傳統的檔案管理系統由于采取單體架構設計,通常只有一個共享的關系型數據庫,數據通常在不同的組件之間共享。由于數據存儲在一個數據庫中,系統開發更簡單,但是單個共享數據庫設計在性能方面易出問題。如集團于2014年正式上線運行的檔案管理系統1.0,隨著歸檔數據量、用戶數量的劇增,特別是在存儲過億級別數據后,易造成系統性能、穩定性嚴重下降,批量處理大批量數據容易失敗,檔案檢索速度慢、不準確、不完整,數據庫擴展更加困難、部署成本大幅增加,數據安全風險加大。單一數據庫架構不能滿足企業集團數字檔案館建設要求,嚴重影響檔案工作的正常開展。同時,傳統關系型數據庫存在的缺陷更加突出,主要表現在:
高并發讀寫性能低。企業集團的用戶數量較多,特別是檔案整理歸檔高峰時期,用戶并發量非常高,往往達到每秒上萬次的讀寫請求,數據庫負載非常高,硬盤I/O(讀寫)性能較差,且容易出現死鎖等并發問題,導致其讀寫速度性能下降非常嚴重。
可擴展性差。關系型數據庫的縱向擴展空間非常有限,橫向擴展也面臨較大挑戰,主要是如何在多個服務器之間協調數據的存儲和訪問,如何維護數據的一致性和完整性等,無法簡單地通過增加服務器和服務節點來擴展性能和負載能力。
支撐容量有限。各類業務系統形成的大量電子文件需要歸檔到檔案管理系統,數據量通常以十億、百億級計算,關系型數據庫無法支撐過億級別數據存儲和復雜查詢。
部署成本高,維護難度大。本地部署的關系型數據庫許可成本高,并且隨著數據量增大而不斷上升,需要專業人員進行配置、調優、容錯、打補丁、更新等運維,運維成本很高。
數據格式的限制。關系型數據庫所采用的二維表格數據模型不能有效處理多維數據,不能有效處理互聯網應用中的半結構化和非結構化數據,如Web頁面、電子郵件、音頻、視頻等。
分布式數據庫是一個數據集合,這些數據分布在由計算機網絡連接起來的若干節點上,每個節點可以管理本地的數據應用,也可以參與全局數據應用。同時這些數據在邏輯上形成一個整體,由統一的數據庫管理系統進行管理。相關產品主要包括:HBase、OceanBase、BigTable等數據庫。以HBase數據庫為例,HBase是一個高可靠、高性能、面向列、可伸縮、開源的分布式數據庫,主要用來存儲非結構化和半結構化的松散數據,設計它的目的就是用于處理非常龐大的表——通過水平擴展的方式,用計算機集群就可以處理由超過10億行數據和數百萬列元素所組成的數據表。
因此,需要一種基于多庫分離、分布式部署的數據架構支撐檔案管理系統的建設。相較于傳統關系型數據庫,應用HBase分布式數據庫和Elasticsearch搜索引擎技術,可以有效解決海量電子檔案的保存和利用。
為徹底解決單一數據庫架構造成的問題,提高系統性能,集團開始建設電子檔案管理系統2.0,新系統規劃6個子系統,系統服務全部基于微服務架構,數據架構采取五庫分離架構,根據子系統功能定位,將數據分別存放于5個不同類型數據庫:預歸檔庫、管理庫、利用庫、長期保存庫、銷毀庫(見圖1)。

圖1:功能架構圖
根據電子文件歸檔與電子檔案管理流程,歸檔電子文件在進入電子文件接收系統、綜合檔案管理系統預歸檔庫后,檔案數據保存在預歸檔庫;歸檔電子文件移交歸檔后,檔案數據轉移到綜合檔案管理系統的管理庫,同時根據需要復制一份數據到檔案利用系統的利用庫;管理庫中有長期保存價值的數據根據需要備份到長期保存系統,電子檔案元數據保存在長期保存庫;電子檔案經鑒定銷毀審批流程,電子檔案原文和長期保存信息包徹底刪除,電子檔案元數據從管理庫、利用庫、長期保存庫轉移到銷毀庫,并作為銷毀記錄永久保存。
將已完成收集整理的數據轉移到管理庫,可以有效避免經過多年積累的預歸檔庫數據量急劇膨脹,保障預歸檔庫收集整理電子文件的性能、穩定性。預歸檔庫僅用于保存上年度待收集整理數據,數據量可以始終維持在較低水平,從而確保電子文件接收系統、綜合檔案管理系統收集整理功能的高可用、高并發、高性能、快速響應。
由于傳統關系型數據庫和分布式數據庫各有優勢與不足,集團電子檔案管理系統“五庫”通過“分庫+并用”方式建設,充分發揮兩者所長。根據檔案業務特點,以及不同類型數據庫所支持的最大數據量,預歸檔庫使用Oracle關系型數據庫,管理庫、利用庫、長期保存庫、銷毀庫使用HBase分布式數據庫(見圖2)。

圖2:數據架構圖
2.2.1 保障預歸檔工作需求
由于預歸檔工作需要集中維護、整理電子檔案,本架構可利用關系型數據庫滿足預歸檔需求。一是基于數據庫特點,易于維護及訪問預歸檔數據;二是通過數據庫的權限分配和管理,保障預歸檔數據的安全性;三是數據庫可依據業務需求及時開通所需資源,無需在業務初期采購高成本硬件,有效減少初期的資產投入及避免資源閑置浪費;四是數據庫可提供快速高效的事務處理能力,輕松應對高并發、大規模預歸檔數據處理需求。
2.2.2 提升海量數據檢索能力
通過結合主流的搜索引擎Elasticsearch和基于HDFS的HBase分布式數據庫對“四庫”建設,滿足了檔案業務數據持續增長的需要,檔案管理系統可支撐十億、百億級條目數據記錄檢索和電子全文檢索。前者提供友好的Rest API,原生支持集群部署,后者是一個多分區、列式存儲的海量存儲數據庫,通過Rowkey可以快速地查詢出對應的數據記錄。創建基于ES的HBase二級索引(見圖3),在HBase上存儲數據記錄,使用Elasticsearch做數據記錄的二級索引,按照檢索內容查詢到數據記錄對應的Rowkey后,再從HBase上檢索完整的原數據記錄。通過結合Elasticsearch全文檢索的能力和HBase的單記錄快速檢索,可以實現檔案電子全文的快速檢索和檔案條目數據的海量存儲。

圖3:基于ES的HBase二級索引方案
2.2.3 突破數據庫瓶頸
Elasticsearch和HBase均具有原生的支持集群的橫向擴展,當集群因數據量上升帶來性能瓶頸時,可以通過添加集群節點來實現計算資源的擴容,實現性能的提升。
2.2.4 保障檔案數據安全
在數據存儲方面,Elasticsearch和HBase這兩項技術都自帶數據副本的能力,在少數節點掉線或者硬件損壞的情況下,并不會導致數據的丟失,對檔案數據的保存也提供很好的安全保障。在數據權限查詢方面,涉及用戶數據權限查詢的屬性字段一并放到Elasticsearch和HBase上存儲,在檢索前對用戶數據權限字段的值進行提取(例如:通過用戶角色反向解析出用戶擁有的權限過濾字段的值),再把值傳入Elasticsearch進行檢索,實現帶數據權限檢索的能力,對檔案利用提供了安全保障。
該設計首先完成了前期的調研和開發環境代碼驗證,隨后在生產環境標準配置的集群進行實測和調優。在測試環境2C 8G 3節點ES集群下測試結果寫入吞吐量達到30000+docs/s,默認查詢(所有文檔score 為1)耗時在170ms內返回結果,term規則查詢在55ms內返回結果,phrase規則下的查詢最差在2662ms返回了查詢結果。測試環境HBase的數據存儲容量達到億級,請求速度是毫秒級。
綜上所示,此架構可充分滿足企業集團對海量電子檔案在收集、保管、利用過程中數據庫響應速度的要求,可有效解決數據庫瓶頸,確保檔案管理系統高可用、高并發、高性能、快速響應。
基于五庫分離架構的檔案管理系統設計對于企業集團檔案信息化建設具有積極的推動作用和顯著的經濟效益,有效滿足企業集團數字檔案館建設需求。
3.1 適應大數據時代發展,提升檔案信息資源價值。本架構可以存儲十億、百億級檔案數據,運用大數據解決方案分析各種不同來源的結構化和非結構化數據,全面提升檔案信息資源價值。
3.2 支撐容量巨大。HBase數據庫的單表可以有百億行、百萬列,縱向和橫向支持的數據量級都非常有彈性,分布式數據庫采用橫向擴展思路,可以實現無限水平擴展,海量數據可以使用一定的分片策略分散到不同的服務器。集團下屬企業3000余家,核心業務系統約3000個,采用分布式數據庫可以滿足各類業務系統海量數據的歸檔和存儲需求。
3.3 擴展性強。分布式數據庫去掉關系型數據庫的關系特征,數據之間弱關系,橫向擴展性能非常優越,容易實現支撐數據從TB到PB級別的過渡。同時,分布式數據庫支持熱擴展,可以在不停止現有服務的前提下,可以隨時添加或減少節點。
3.4 系統性能大幅提高。分布式數據庫可以通過并行處理和負載均衡來提高性能,由于數據分散在不同的節點上,系統可以同時處理多個請求,從而加快數據的訪問和處理速度。
3.5 降低部署成本。與傳統關系型數據庫不同,分布式數據庫對計算機系統的性能要求大大降低,可以使用普通的PC服務器,硬件成本極大降低,同時,Hbase為開源數據庫,免除了高昂的數據庫許可費用。
3.6 充分應用新技術。使用多庫分離設計,不同電子檔案庫可以根據業務場景使用不同類型數據庫,充分發揮不同類型數據庫優點、避免缺點,有效應用最新信息技術,同時,可以減輕、分散單一數據庫承擔的數據讀寫壓力,實現讀寫分離。
3.7 提高檔案管理系統安全性。不同類型用戶、不同網絡用戶共同訪問單一數據庫,存在較高的數字安全風險。采取五庫分離架構后,檔案管理人員、系統管理員、檔案利用者可以分別訪問和操作不同的數據庫,極大地提高檔案數據安全性,防范檔案信息泄露。例如:外網用戶可以通過互聯網訪問檔案利用系統,數據訪問范圍僅限于利用庫數據,避免接觸到企業內網的其他四庫數據。
3.8 滿足企業集團數字檔案館建設要求,實現數據互聯互通。國家檔案局持續推動中央企業建設企業集團數字檔案館,驗收標準之一就是要求企業集團總部與下屬企業數字檔案室實現互聯互通,由于采用五庫分離架構,下屬企業已歸檔數據全部保存在檔案利用系統的利用庫,從而實現企業集團內部各類檔案數據的互聯互通,共享企業集團檔案信息資源。
3.9 滿足集中部署需求,切實為企業降本增效。通過五庫分離架構,徹底解決數據庫瓶頸,滿足了企業集團檔案管理系統“統一建設、集中部署”的需求,避免下屬企業分別建設、部署帶來的各種問題,極大地降低檔案管理系統建設和推廣成本,切實為企業降本增效。由于系統功能完善、性能較高,集團下屬企業積極開展系統上線工作,目前已有1500個全宗正式上線運行,本架構有效滿足了企業集團高并發、高效檢索的需求。