賈文玨,談夭林,張菲菲,李 彥,況海濤,姜 喆,武宇廷,佟業真,郭培培,李 堃
(1.自然資源部信息中心,北京 100812;2.北京超圖軟件股份有限公司,北京 100016;3.瀚高基礎軟件股份有限公司,山東 濟南 250098)
不動產統一登記可以更好地保護不動產權利人合法財產權、保障不動產交易安全、維護市場交易秩序、方便企業和群眾、提高國家治理現代化水平。完備、準確、可靠的不動產登記數據庫是建立權界清晰、責權一致、運轉高效的不動產統一登記制度的根本保障。自2015 年起,各地不動產登記機構按照《國土資源部關于做好不動產登記信息管理基礎平臺建設工作的通知》《不動產登記數據庫標準(試行)》《不動產登記存量數據整合建庫規范(試行)》等文件要求,積極推動不動產登記存量數據整合、匯交入庫和信息平臺建設。不動產分散登記時的土地、房屋、森林、草原、海域等各類登記存量數據依然有效,需要按照不動產統一登記的要求進行數據梳理整合、關聯關系重建、不動產單元編號和補錄補測,完成質檢后匯交納入全國不動產登記數據庫。不動產統一登記制度實施后,全國2 800 多個縣(區)3 000 多家登記機構每日辦理的登記數據,需要以增量接入方式實時上傳納入全國不動產登記數據庫。截至2018 年年底,全國城鎮地區房地存量不動產登記數據實現整合匯交納入全國不動產登記數據庫,每日辦理的增量數據實現全部實時接入并動態更新,標志著全國不動產登記數據庫基本建成。
全國不動產登記數據庫包含全國50 多億條土地、房屋、森林、草原、海域等各類不動產及其權利和權利人的時空信息,在支撐不動產登記業務辦理、提供不動產登記信息共享、支撐監測監管和形勢分析、提供便民利民服務方面發揮了巨大作用。
(1)支撐了全國2 800 多個縣(區)每日40 多萬條登記數據實時接入,實現了正確維護全國不動產登記數據庫不動產權關聯關系及實時更新權屬狀態。
(2)為民政、稅務、市場監管、公安、法院、司法、紀委監委等部門提供“總對總”不動產登記信息聯網查詢服務,將不動產登記信息查詢嵌入相關部門業務系統,為破解司法判決執行難、社會救助對象精準認定、個人所得稅減免核實、查人找物等提供了有效的數據支撐。
(3)基于全國不動產登記數據庫開展不動產登記業務監測監管、房地產市場、不動產抵押等指標分析和專題分析,為宏觀調控、政策制定、形勢分析提供有力支撐。
(4)為不動產登記“網上一窗”辦事平臺提供支撐,全面實現全國2 800 多個縣(區)的不動產登記三個高頻事項“跨省通辦”,有力提升了人民群眾的獲得感、幸福感和安全感。
全國不動產登記數據庫體量大,客體-權利-權利人、空間-屬性及歷史-現勢關聯關系復雜,不動產登記權利轉移、抵押、查封等變化快。全國不動產登記數據庫如不能高效響應數據實時更新和復雜業務邏輯關聯關系維護,將不能有效保護不動產交易安全、保護權利人合法權益、支撐國家相關部門準確高效開展業務工作。因此,全國不動產登記數據庫對數據庫組織、存儲、更新、應用的性能要求極高。在建設初期,不動產登記信息平臺采用高性能X86 服務器和甲骨文(Oracle)企業級高性能數據庫,隨著不動產登記業務辦理數據不斷增多,數據庫性能已出現瓶頸。在國產化升級改造、安全自主可控的大背景下,全國不動產登記數據庫面臨國產化升級適配和全國產化環境下數據庫性能提升的巨大挑戰。
為此,本文引入國產數據庫高可用、高并發集群技術,設計了基于全國產化環境、讀寫分離、空間-屬性分置的全國不動產登記數據庫組織存儲架構,完成了數據遷移,有效支撐了每日40 多萬條登記數據實時更新和20 多萬條不動產登記信息查詢服務,有力保障了海量不動產登記時空數據復雜應用場景下的應用服務性能,有效保護了權利人的合法權利。
不動產登記實行屬地化原則,縣(區)級行政部門是登記業務的辦理主體。全國不動產登記數據庫建立了數據四級歸集與實時更新機制,確保全國各級不動產登記機構的登記數據全面、準確、實時納入全國不動產登記數據庫[1-2]。全國不動產登記數據庫具有以下特點。
(1)數據量大。不動產登記數據既包括不動產單元、不動產權利、不動產權利人等屬性信息,也包括地籍區、地籍子區、宗地、宗海、自然幢等空間信息,其數據量達數十億條級,空間圖斑上千萬個。
(2)業務邏輯復雜。不動產登記涉及土地、房屋、森林、海域等多種不動產單元,不動產單元涉及所有權、用益物權和擔保物權等數十種權利類型,每種權利類型又涉及八大登記類型,不動產單元、權利類型、登記類型的組合多達上千種情形,業務種類繁多。不動產權利涉及主權利及其限制權利,權利的轉移、抵押、限制等變化頻率較高,權利關聯關系復雜。
(3)數據更新頻率高。需要實時納入每天40 多萬條登記數據并進行關聯關系和權利狀態維護;也要實時納入各地存量整合、補充匯交的數據,并做好增存數據對接,大數據量下的數據更新要求高。
(4)空間性強。不動產統一登記的最大特點是實現“房落地、地落宗”,所有的不動產單元都有明確的空間位置并落到相應的宗地或宗海,不動產登記數據空間數據管理維護要求高。
(5)應用支撐廣泛。不動產登記數據庫不僅要支撐各地不動產登記數據的實時納入,還要支撐不動產登記部門與不動產交易管理部門的信息實時互通、為國家機關提供全國不動產登記信息查詢、為管理部門提供不動產登記數據挖掘分析產品及“互聯網+不動產登記”等便民服務,全國不動產登記數據庫具有廣泛的應用支撐需求。構建架構合理、支撐全面、高性能可持續運行的數據庫,既能滿足全國四級大規模不動產登記實時互通的需求,又能滿足多領域、跨網絡、多層次的應用需求。
全國不動產登記數據庫原有架構基于高性能X86 服務器和Oracle 軟件,如圖1 所示。由于空間數據和屬性數據特點不同,空間庫和屬性庫采用分別建庫策略。空間庫和屬性庫通過不動產單元號關聯,相對獨立又相互關聯,可有效隔離其相互影響。屬性庫和空間庫均采用Oracle 實時應用集群(real application clusters,RAC)部署方式,并分別創建數據衛士(Data Guard)主庫和備庫[3]。

圖1 數據庫原部署架構
數據庫原部署架構采用“雙RAC+單Data Guard”部署模式,由3 臺浪潮TS860 服務器組成。其中2 臺服務器組成Oracle 12c RAC 雙節點集群,利用Oracle RAC 高可用和多節點負載均衡功能,有效提升數據吞吐量和性能支撐。另1 臺服務器安裝Oracle 12c Data Guard,采用物理備機方式,與生產庫形成主數據庫服務器和備用數據庫服務器(Primary-Standby)模式,在生產庫正常工作時,通過數據庫日志實現實時數據同步。只有生產庫的2 臺服務器都出現異常時,Data Guard 備數據庫通過主備切換轉為生產庫并接替提供服務。主數據庫采用自動存儲管理(automatic storage management,ASM)方式管理存儲空間,共享同一存儲空間,有效保證了數據一致性,備數據庫采用操作系統的文件系統進行存儲。主數據庫與備數據庫分別連接不同的磁盤陣列,有效規避了數據存儲可能出現的單一故障點。通過專業的數據庫在線備份軟件實現數據離線備份及異地備份。
系統上線初期,原有部署架構有效滿足了數據存儲及應用性能需求。但隨著不動產登記數據的日益增多,特別是數據量超過50 億條后,原有RAC 架構的Share-All 模式,在支撐每日數十萬條量級更新和共享應用時,其共享存儲的讀寫性能逐漸成為系統的主要瓶頸,已經很難在原有部署架構上實現提升。
目前,國產服務器、操作系統、數據庫的性能與國外企業級高性能產品相比仍存在一定差距[4-5]。為了彌補國產服務器、數據庫軟件的性能短板,支撐全國不動產登記復雜應用場景業務化運行與高性能應用服務,國產數據庫軟件本身需要適配升級,同時,國產數據庫軟件和操作系統、服務器等國產軟硬件環境的性能短板還需要通過數據庫部署架構升級得到彌補[6-7]。本文依據“分庫分片”的思路,提出基于國產數據庫的高性能讀寫分離集群架構設計,應用集成了數據分片技術、并行處理技術、流復制技術及無共享(Share-Nothing)技術,構建了每個集群工作節點不共享任何硬件資源、完全獨立的全國不動產登記數據庫組織存儲架構,通過基于流復制技術實現主、從數據庫同步更新。數據庫由原來1組Oracle 數據庫分散到若干組國產瀚高數據庫,有效降低每組數據庫的壓力,提升數據庫訪問性能,彌補國產服務器、數據庫的性能短板。
升級后的全國不動產登記數據庫部署運行在國產服務器、操作系統、數據庫、中間件、地理信息系統、瀏覽器等全國產化環境。升級后的全國不動產登記數據庫根據空間庫及屬性庫的結構特征,分別采用不同的數據存儲策略。
屬性庫將統一存儲在Oracle 數據庫的31 個省份和新疆生產建設兵團數據拆分到4 組國產瀚高數據庫,每組數據庫存儲8 個區域單元,數據庫通過分片鍵關聯,共同構成一個邏輯統一的不動產登記數據庫。通過分庫管理,每組國產數據庫只需處理1/4 原數據量,壓力也降至1/4 原壓力,雖然國產服務器硬件性能指標不及浪潮TS860 服務器相關指標,但其整體響應性能較之前具有相應提升。屬性庫集群架構如圖2 所示。

圖2 屬性庫集群架構
針對不動產登記數據地方坐標系、全國不動產空間數據難以統一管理的問題,空間庫建立了“市縣分區空間庫+全國統一空間庫”的空間數據復合管理模式,通過數據庫分表技術,獨立存儲市縣分區空間庫,管理地方坐標系下的全國不動產數據,確保國家、省、市、縣四級數據同源、一致。同時,通過投影和坐標轉換,建立了統一坐標系下的全國不動產空間庫,實現全國范圍統一展示應用。
全國分區空間庫和全國統一空間庫都采用國產瀚高數據庫集群,各由一組“主庫+從庫”集群構成,空間庫集群架構如圖3 所示,主庫與從庫間通過流復制進行同步。考慮數據量和發布地圖服務的相對平衡,以省份為單位建立表空間。

圖3 空間庫集群架構
為了滿足全國不動產數據庫對國產數據庫的高可用需求,每組國產數據庫建立主從(master-slave)結構,即由主庫和從庫共同組成。主庫服務器出現異常時,從庫服務器可及時替換接入,實現業務不斷、數據不丟、客戶無感,有效保障了系統長時穩定運行。目前,每組國產數據庫都采用主庫與從庫的配置,可根據需要動態增加或減少從庫數量。
在常規主從結構數據庫集群中,主庫處理業務;從庫主要完成與主庫的數據同步,只在主庫異常時才進行業務接管,在主庫正常時不分擔主庫的壓力,從而造成一定的資源浪費[8]。為有效利用服務器資源,通過引入數據庫中間件技術,實現主從數據庫讀寫分離。主庫用于處理接入、更新等“寫操作”任務,從庫用于支撐查詢、統計等“讀操作”任務,通過有效分離“讀操作”和“寫操作”,從而大幅提升數據庫應用性能。通過引入ShardingSphere 分布式數據庫中間件解決方案,將分庫分片分散存儲的數據庫重新組織成一個邏輯統一的整體,數據庫后臺架構的調整對用戶及開發人員完全透明,原有的應用系統及結構化查詢語言(structured query language,SQL)腳本只需少量的適配改造(主要是Oracle 及瀚高數據庫的少量SQL 語法差異)即可有效運行,極大減輕了應用及系統的遷移負擔,也為后期數據集群橫向擴容打下堅實基礎。
分布式大規模并行處理(massively parallel processing,MPP)數據庫集群架構將全國不動產登記數據庫的訪問操作分發給相應的數據庫集群分組,按照“讀寫分離”原則,將接入更新、管理維護、共享查詢和分析挖掘等操作分散到集群組中的主庫或從庫。通過分組并行處理,極大提升全國億量級不動產登記數據的管理、存儲和查詢、分析、應用效率,有效彌補了國產軟硬件的性能短板,可滿足各類用戶對全國不動產登記數據庫的高頻、復雜更新和應用需求。不動產登記數據庫集群架構如圖4 所示。

圖4 不動產登記數據庫集群架構
按照全國不動產登記數據庫集群架構設計,X86 體系下Oracle 數據庫需遷移至全國產化環境下的瀚高數據庫集群。遷移數據內容包括遷移的基本對象和高級對象。基本對象包括數據庫、用戶/模式、表、約束、索引、視圖和數據等,高級對象包括序列、同義詞、數據庫鏈接、觸發器、函數、存儲過程和包等。
數據庫遷移采用國產遷移工具自動化遷移和手動遷移相結合的方式。國產遷移工具可自動完成從基本對象Oracle數據庫到國產數據庫的遷移。通過手動遷移方式完成國產遷移工具無法直接完成的遷移內容,如自定義函數、存儲過程、包等。遷移時,可以借助PL/SQL 集成開發環境(PL/SQL Developer)等工具,將Oracle 相關對象導出為SQL 腳本,使用國產數據庫查詢工具打開SQL腳本,對照國產數據庫的相應用法,將其修改為國產數據庫兼容的語法格式,在國產數據庫查詢工具中進行調試和執行。
數據庫采用空間、屬性數據分類遷移。空間數據庫和屬性數據庫由于不同的表結構、數據組織方式、數據存儲訪問方式需要分類遷移,按照不同的對應關聯關系進行遷移,并對遷移后的空間數據和屬性數據分別進行檢查處理。
數據庫遷移的流程主要包括前期準備、數據存量遷移、數據庫測試與調優、數據增量同步等步驟。在前期準備中,需要進行遷移前的數據評估和數據檢查處理,制定遷移方案。數據存量遷移包括遷移前的數據再次檢查處理、數據遷移和遷移數據校驗,確保遷移數據的完整、準確。數據庫測試調優主要包括數據庫適配測試,確保X86 環境下Oracle 數據庫與國產化環境下瀚高數據庫的數據庫類型正確適配銜接。數據增量同步是在存量數據遷移的基礎上,對存量遷移時間節點后產生的增量數據進行同步。不動產登記數據具有上下手緊密關聯的特征,權利轉移到下一手后,上一手權利應同步更新為歷史狀態,避免出現同步不及時造成的“一房二賣”情況。數據庫遷移流程如圖5 所示。

圖5 數據庫遷移流程
2021 年底,全國不動產登記數據庫完成全國產化環境搭建、國產數據庫的高可用讀寫分離集群搭建,實現了全國不動產登記數據庫50 多億條數據、7 000 多萬個空間要素的數據遷移,實現了全國不動產登記信息平臺基于全國產化運行環境和國產數據庫集群的業務化運行和規模化服務。自遷移到國產數據庫集群以來,全國不動產登記數據庫保證了全國日均40 多萬條不動產登記數據的實時更新和狀態維護,有力支撐了全國2 800 多個縣(區)的登記機構數據實時接入和數據比對;保障了公安、民政、司法、稅務、市場監管、法院、紀委監委等部門日均20 多萬條數據共享查詢;滿足了稅務、法院個人所得稅集中核驗,被執行人批量定期核查等短期大批量查詢請求;不動產登記數據的實時更新和狀態維護最高峰值達到日均200 萬條,未出現卡頓、堵塞等現象,查詢性能相比之前有所提升。
全國不動產登記數據庫包含自然人和法人不動產空間和權屬信息,其安全穩定運行事關權利人的切身利益,涉及國家經濟安全和社會穩定。本文面向全國產化自主可控環境下的全國不動產登記數據庫重構升級,提出了基于國產數據庫的高可用讀寫分離集群架構,設計了從X86 環境下Oracle 數據庫到國產化環境下瀚高數據庫集群的數據遷移技術路線,實現了數十億量級全國不動產登記數據庫遷移,并支撐了每日40 多萬條增量數據接入更新和日均20 萬條、峰值200 萬條數據的查詢應用,有力支撐了不動產登記業務化辦理和規模化服務。不動產登記數據量的快速增長及共享查詢、業務協同、“互聯網+不動產登記”、不動產登記電子證照擴大互認等應用服務需求的不斷提高,對全國不動產登記數據庫性能提出了更高要求,還需進一步細化、升級全國不動產登記數據組織、管理和應用模式,不斷提升數據訪問性能和各類復雜應用場景的高性能支撐能力。