南大通用:元宇宙資料庫技術展望

GBASE南大通用發表於2022-04-26

元宇宙資料庫重要特色

無論是現實還是虛擬世界,資料庫都是重要 IT 基礎技術支撐,為了維繫元宇宙的日常運作,資料庫為數字孿生世界的映象和混合現實世界中的虛擬擴充套件提供資料平臺支撐。元宇宙中的一切虛擬概念,不論其描述的是具體物件,還是抽象物件,以及所有與元宇宙物件發生關聯的現實物件,都可能在資料庫中有所體現。元宇宙下的資料庫將面臨新的技術挑戰。

在元宇宙虛擬世界,其數字化程度遠高於現實世界,經由數字化技術勾勒出來的空間結構、場景、主體等,實質都是以資料方式存在的,需要實現主體資料化、場景資料化、行為及互動行為的資料化。因此,元宇宙的虛擬世界,需要比現實更多的資料支撐。雖然這些資料並不全儲存在資料庫中,其它系統也會承擔元宇宙的資料儲存,但元宇宙虛擬世界的空間結構、場景、主體等的基礎資料、關聯資料、活動及執行資料、發展變動資料需要儲存在資料庫中。所以,元宇宙下的資料庫至少應該支援超大資料規模、資料多樣化及多種資料處理模式的要求。

元宇宙虛擬世界中,資料型別各種各樣。經濟系統中需要記錄各種交易資訊,這種型別多為結構化資料,適合交易型關聯式資料庫;各種實體及其經濟活動存在各種直接和間接關係,這種關係錯綜複雜,適合圖資料庫;各種感知裝置以及數字孿生產生的各種流資料,適合流資料或實時資料庫;虛擬世界的實體物件的各種活動軌跡及位置需要適合 GIS 空間資料庫;各種文件、影像、影像、聲音、視訊等還可能適合包括文件資料庫等其它資料庫。

元宇宙下,資料型別複雜、處理方式多樣。由於各種型別資料庫各有所長,分別可以高效應對不同的場景,很難只使用一種資料庫完成應對各種應用場景。但使用一個統一的資料庫語言,或者每種型別資料庫一個統一資料庫語言是可行的。統一語言可以建立在統一虛擬邏輯層上,由虛擬邏輯層下的具體資料庫引擎執行操作。

元宇宙對資料庫廠家來說不僅僅是新的挑戰也是難得的機遇。為了更有力支援元宇宙,一方面,資料庫產品技術需要進一步突破傳統需求;另一方面,資料庫產品需要有更強的生態融合能力。目前,我們還是看好國產資料庫廠商在這些方面潛力。以南大通用公司為例,最近幾年,南大通用在產品研發技術上不斷完善並超越自己。其分散式資料庫產品已通過中國信通院大資料產品大規模能力測試,叢集規模達到 4096 節點並創國際記錄。南大通用虛擬化資料技術,可以實現跨引擎異構資料庫,包括與圖資料庫、流資料庫及更廣泛的其它資料庫的融合;另一方面,南大通用也在生態融合上不斷努力,目前已經完全融入國產化軟硬體系統生態。

 

1    國產化資料庫系統生態示例

國產化資料庫廠商的這些能力,說明了國產化資料庫已經為元宇宙發展做好了積極的準備。

元宇宙資料庫重要特色

1 )支撐區塊鏈

為了構建經濟系統,元宇宙需要依靠區塊鏈技術。區塊鏈本質上就是一個去中心化的賬本資料庫,其底層通常為 Key-Value NOSQL 資料,區塊鏈分佈節點資料由共識演算法來維持各個節點的賬本資料的一致性,由密碼演算法實現各個區塊之間的連結,實現資料的簽名和確權,由賬戶模型來表達這個資料是由誰產生的,誰發起的,以及流轉給誰的,由指令碼系統來具體驅動這些指令碼資料的驗證,執行等操作。

區塊鏈資料庫能夠儲存現有相關的資訊以及之前所有資訊,生成歷史資料庫,它們像自己歷史上不斷擴充套件的檔案一樣成長。通常,隨著元宇宙中依賴區塊鏈的數字化交易增加及歷史資料的累積,區塊鏈賬本之間的資料同步延時會逐步增加,系統整體效能逐步下降,因為區塊鏈資料庫與分散式資料庫有所不同,分散式資料庫每個節點只儲存資料庫的部分資料,而區塊鏈每個節點儲存完整資料庫。所以元宇宙下,高頻使用且不斷擴充套件的區塊鏈的資料庫將面臨效能考驗。

以下是區塊鏈賬本資料庫示例:

 

2 區塊鏈技術的資料庫記錄

2 )輔助數字孿生

元宇宙中包含了實體世界和的虛擬世界的對映和互動,這也是數字孿生,數字孿生首先面向物的。數字孿生需模擬完整、廣泛的虛擬物件,數字孿生可以基於 VR/AR 裝置、 5G 6G 、雲端邊緣、智慧感測器、機器視覺等實現虛擬世界活動控制、裝置執行維修等。數字孿生也可以很好提供裝置開發模擬、能源監控及預測性維護,廠商或將能在工業元宇宙共通平臺上建立虛擬工廠,串接各廠區與跨企業合作互通,擁有龐大資料的產業大廠。

由此可見,元宇宙下,有大量資料來自智慧穿戴裝置、五官感應裝置、 IOT 系統,包含現實與虛擬裝置執行及裝置執行狀態資料。這種資料處理實時性要求很高,所以,元宇宙下的資料庫,將面對大量高頻度實時資料,實時資料存的時間視窗大小直接影響需要為實時資料提供的儲存空間大小。

實時資料庫的一個重要特性就是實時性,包括資料實時性和事務實時性。資料實時性是現場 IO 資料的更新週期,作為實時資料庫,不能不考慮資料實時性。事務實時性是指資料庫對其事務處理的速度。它可以是事件觸發方式或定時觸發方式。事件觸發是該事件一旦發生可以立刻獲得排程,這類事件可以得到立即處理,但是比較消耗系統資源;而定時觸發是在一定時間範圍內獲得排程權。作為一個完整的實時資料庫,從系統的穩定性和實時性而言,必須同時提供兩種排程方式。

 

3 數字孿生實時資料庫互動

3 )三維視覺化

一圖勝千言,傳統資料庫已經為視覺化打下良好基礎,尤其是 BI (商業智慧)視覺化,已經為管理決策提供了非常直觀的效果。由於元宇宙是與現實世界平行的虛擬世界,現實世界存在的人、物、山、川、河流,現實世界的各種實體都可能需要在虛擬空間出現。

虛擬空間需要展現大量三維動態實體,為了模擬真實世界,傳統的與二維圖形、影像並不能滿足元宇宙的需求。而模擬成像的三維影像將會在元宇宙中大量使用。遊戲中我們常見到的城市、沙漠、山地、丘陵、林地、海洋等都可以作為三維模型。通過模型庫可以展示較強真實感的人物、建築、樹木、道路等。

影像一般分為兩類——向量圖和點陣圖。以照片或圖片為例,影像由不同顏色的點陣組成。這叫點陣圖,我們看到的基本都是它 , 我們常見的 *.bmp ; *.jpg 等等都是。另一類圖形就像有些工程裝置圖和卡通漫畫等,它們主要由線條和色塊組成 , 用代數式來表達每個元素。然後把這些元素的代數式和它們的屬性儲存,這樣生成的就叫向量圖。簡單的一句話就是 : 這種圖形效果是通過公式計算獲得 , 並可無限放大不失真。目前已有技術可通過基本影像素材加機器學習或向量計算輔助生成的三維動態影像。其中,用於深度學習演算法訓練的高逼真度模擬影像已經取得成效,但佔用資源較多、影響 IO ,而基於向量技術的三維影像比較成熟而且佔用資源少。

向量圖是面向影像或繪圖影像,向量圖可以根據幾何特徵繪製,並由演算法計算生成。向量圖主要元素有點、線、矩形、多邊形、圓和弧等,它們是通過數學公式計算出來的。向量圖可以做到無論放大還是縮小,顏色邊緣都非常平滑,非常清楚。向量圖優點是佔用儲存空間小、可編輯物件的影像元素、放大或縮小的影像不影響影像的解析度,影像的解析度不依賴於輸出裝置。向量圖技術已經很成功應用在空間地理資料庫,目前,三維模型資料庫輸出格式包括 3D MAX FLT OSG 等,並支援多種地形資料格式匯入。模型資料庫可以渲染出高 模擬實體,對算力要求比較高。相信未來元宇宙也會大量使用基於向量技術的三維圖資料庫。

 

4 三維空間資料庫結構示意圖

元宇宙資料庫關鍵技術

1 )分散式技術

元宇宙的概念從建立就決定著它一定是以去中心化的方式執行的,去中心化,這個虛擬空間不以某個服務主體的主觀意志為轉移,是一個由全體獨立個體共同經營維護的空間,需要以去心中化的平權式的共享機制和共治機制為保障。

在去中心化的執行機制下,分散式資料庫將是元宇宙的重要要求。分散式資料庫的可擴充套件性可以滿足儲存不斷增長的需求。但由於事務型業務有強一致性的要求,現實世界中分散式資料庫各節點之間為了保證一致性,需要限制分散式寫的節點,也就是併發寫需要排隊,從而帶來了資料庫擴充套件性和效能的侷限。隨著元宇宙全數字化環境的發展,通過對強一致性的靈活處理,分散式資料庫的規模將能滿足元宇宙的發展需求。

分散式事務型資料庫在異常情況中保證事務 ACID 的特性的核心技術主要為二階段 / 三階段提交技術,又稱為 2PC/3PC phase commit).

二階段提交原則是在分散式系統中引入一個協調角色,區別於普通的事務參與者,他是直接響應使用者的節點,將一個完整事務切分為分散式事務給與參與者。這樣參與者在執行事務的過程中,將原來一次執行完成的提交操作做一次預執行或者執行準備,這樣即使參與者在提交事務過程中如果出現異常,可以向協調者報告並讓他告知其他參與者也對這筆操作進行失敗處理。

三階段提交在二階段提交當中在第一階段與第二階段之間插入了一個準備階段,使得原先在兩階段提交中,執行者在預執行過程中,由於協調者發生崩潰或錯誤,而導致參與者處於無法知曉是否提交或者中止的“不確定狀態”所產生的可能相當長的延時的問題得以解決。

由於關聯式資料庫對一致性要求 很高,所以分散式資料庫是分散式資料庫的發展重點和難點。為了實現分佈,需要對資料庫進行切分,通常由水平切分和垂直切分,資料按照業務邏輯水平切分,效能高低主要體現在資料存放方式和業務的貼合程度上,而按照資料容量切片儲存,效能高低主要體現在對資料塊(片)排程的高效性上。

5 分散式資料庫切分方式示意圖

2 )雲化技術

雲端計算其實就是一種通過虛擬化技術實現大規模計算的架構和方法。在雲端計算中,資源和功能都以服務的方式提供出來供使用者使用。雲端計算將資源以抽象的方式或者邏輯的方式進行表示,通過虛擬化可以將不同伺服器的資源以統一的整體的形式進行提供。

元宇宙是高度虛擬化世界,需要相適應的虛擬技術支撐。雲資料庫需要建立在雲端計算技術之上。雲資料庫可以隨著雲資源的擴充,其所屬的計算和儲存都隨之擴充套件。為此,雲資料庫首先需要具備儲存與計算分離架構,傳統的儲存計算一體化以及共享儲存的資料庫都無法滿足雲資料庫的需要。

雲資料庫架構示意如下:

 

6 雲資料庫架構示意圖示意圖

其中:

資料庫介面代理:實現統一的資料訪問介面代理,業務元件或模組通過介面代理來訪問底層的資料庫服務。在介面代理的實現過程中需要考慮資料庫連線池的管理,資料庫負載均衡等相關內容。

SQL 解析:負責解析客戶請求的 SQL 語法,需解析出語句的讀、寫特性,並根據語句特性進一步解析其中的 schema 、表、欄位、條件等資訊。如:新增語句需解析出所插入欄位的欄位名和值;查詢、修改、刪除語句需解析出 Where 條件中包含了哪些條件表示式。

資料路由:負責根據語法解析的結果,在規則池中查詢與之相關的規則。找到後將解析結果代入規則中進行運算,得到語句需要轉發的具體物理資料庫節點。而對於規則池則主要包括語句的讀寫規則,水平拆分的分片規則,資料物件的訪問規則等。

多租戶管理:可以實現在資料庫例項和資料庫 Schema 兩個級別的多租戶共享和管理功能。資料庫層共享以資料庫為基本的劃分單元,即為每一個租戶建立 / 分配一個資料庫例項,共享儲存和伺服器。 Schema 層共享以 User/Schema 為基本的劃分單元,即資料庫例項已經建立,在此基礎上為每一個租戶建立一個 Schema ,多租戶之間共享儲存、伺服器、作業系統服務和資料庫例項。

管控代理:為實現對整個資料庫資源池的集中管控和效能監控,需要對每一個資料庫物理節點放置資料庫管控代理。管控代理一方面實現對物理資料庫節點的統一操作入口,一方面實現對資源的實時監控和效能資料採集。

管控功能:提供對服務叢集中的不同資料庫服務節點進行節點的新增、刪除、啟動、停止等功能。完成服務叢集的伸縮;完成節點資訊的採集,以及針對節點進行的手動操作的日誌記錄;完成和節點代理服務進行互動的工作;完成和監控系統進行互動;共同完成服務的管理和監控功能。

3 )安全隱私

元宇宙中,每個組織和個人都會擁有自己資料,資料安全與隱私將是資料庫必然考慮的重點。除了區塊鏈外,資料庫本身技術也要採取必要措施保證資料安全與隱私。

元宇宙資料庫安全及隱私主要考慮技術有:

安全通訊:使用安全套接層協議,通過使用加密演算法保護的鏈路層,並對服務端和客戶端進行雙向驗證,保證客戶端和服務端之間通訊的保密性和完整性。同時,安全通訊也對高可用環境下的連線管理器和客戶端、服務端間的通訊,服務端和服務端間的通訊進行了安全保護。

身份認證:支援常規資料庫使用者口令認證方式,同時支援插入式身份驗證模組、輕量級目錄訪問協議、單點登入使用者對資料庫訪問的驗證整合。

角色管理:預定義了資料庫安全管理員,資料庫審計管理員,資料庫管理員等預設角色,也可以由系統管理員根據實際業務需要建立角色和分配使用者。

自主訪問控制:自主訪問控制粒度分為資料庫級、表級、欄位級。資料擁有者和其指定的使用者可對不同粒度物件設定不同的許可權管理。

強制訪問控制:使用基於標籤的訪問控制系統以實現強制訪問控制要求。安全標籤由一個或多個帶順序的數列型構件、無需的集合型構件、表示層級關係的樹型構件組成。強制訪問控制力度達到行級。

安全儲存:儲存資料的保密性是安全資料庫的最重要的功能之一。資料管理中的資料加密採用庫內加密的方式,在資料庫管理系統的核心儲存引擎上進行資料加解密處理,即資料在進行物理 I/O 時完成加/解密工作。由於資料頁只有在真正進行 I/O 時才進行加解密操作,從而對於合法使用者來講是完全透明的,因此也可以稱為透明儲存加密。加密演算法及祕鑰由符合國密標準的硬體加密卡提供。

安全審計:由安全操作員進行審計掩碼的設定,可針對每個使用者、全域性分別進行審計掩碼的設定,可設定要求、排除兩種審計掩碼的設定,審計掩碼可對 160 種審計事件進行組合。由審計操作員執行審計的啟停和配置管理,並對審計記錄進行分析。

 

7 資料庫安全隱私技術示意圖

4 )硬體計算加速

   相對現實世界,元宇宙更需要計算能力的提升。比如,大量虛擬實體的動態生成、大量的 AI 分析,還有元宇宙的實時響應,都需要大量的算力。元宇宙的大資料儲存可以採用分散式儲存技術,通過增加儲存節點解決。但計算能力僅通過增加節點並不夠,比如資料庫的分佈並行處理,由於受到一致性的約束,有時候交易記錄並不能都通過增加節點提高效率,還有一些無法切分的實時任務也不能依賴增加節點解決實時響應問題。所以,類似這些問題,還需要藉助硬體技術共同解決。

解決資料庫計算能力除了軟體和演算法優化外,對於密集型計算還可以通過硬體技術來提升算力。使用記憶體資料庫是一種辦法之一,但僅使用記憶體資料庫還存在侷限性,比如儲存容量不足,而且算力增加很有限。採用並行異構計算技術提升計算能力是一種經過驗證可行的辦法。目前,一種比較有效的硬體加速辦法方法是在 CPU 的基礎上,增加 GPU( 圖形處理器 ) FPG( 現場可程式設計邏輯閘陣列 ) 實現並行異構計算。

GPU 主要擅長做類似影像處理的平行計算,圖形處理計算的特徵表現為高密度的計算而計算需要的資料之間較少存在相關性, GPU 提供大量的計算單元(多達幾千個計算單元)和大量的高速記憶體,可以同時對很多畫素進行並行處理。

GPU 的設計出發點在於 GPU 更適用於計算強度高、多並行的計算。 GPU 的邏輯控制單元相比 CPU 簡單,所以要想做到指令流水處理,提高指令執行效率,必然要求處理的演算法本身複雜度低,處理的資料之間相互獨立,所以演算法本身的序列處理會導致 GPU 浮點計算能力的顯著降低。

FPGA 作為一種高效能、低功耗的可程式設計晶片,可以根據客戶定製來做針對性的演算法設計。 FPGA 由於演算法是定製的,所以沒有 CPU GPU 的取指令和指令譯碼過程,資料流直接根據定製的演算法進行固定操作,計算單元在每個時鐘週期都可以執行,所以可以充分發揮浮點計算能力,計算效率高於 CPU GPU

基於 GPU FPGA 硬體加速技術架構示意如下:

8 GPU/FPGA 異構計算示意圖


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69979120/viewspace-2888798/,如需轉載,請註明出處,否則將追究法律責任。

相關文章