999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

圖數據庫在工程數據中心的應用

2021-10-08 00:46:07陳肖勇蔡永健顧丹鵬何栓康主令恒
計算機時代 2021年9期
關鍵詞:數據存儲

陳肖勇 蔡永健 顧丹鵬 何栓康 主令恒

摘? 要: 為了提升工程建設及運維過程的工作效率和質量,建設覆蓋工程全過程的全生命周期工程數據中心具有重大意義。工程數據中心數據建設的特點在于數據之間關聯的多樣化和復雜化,為適應這樣的數據存儲需求,采用區別于關系型數據庫的圖數據庫構建工程主數據的存儲方案,以維護其復雜多變的關聯關系,并為基于圖結構數據進行數據分析應用提供了可能。

關鍵詞: 圖數據庫; 數據存儲; 數據中心; 圖結構數據

中圖分類號:TP392? ? ? ? ? 文獻標識碼:A? ? ?文章編號:1006-8228(2021)09-42-04

Abstract: In order to improve the work efficiency and quality of project construction and maintenance process, it is of great significance to establish a full life cycle engineering data center covering the whole process of the project. The characteristics of data construction of engineering data center are the diversification and complexity of data association. In order to adapt to such data storage needs, the graph database, which is different from the relational database, is used to construct the storage of main engineering data in order to maintain the complex and changeable association relationship, and provide the possibility for graph structured data based data analysis and application.

Key words: graph database; data storage; data center; graph structured data

0 引言

工程數據中心的數據建設特點在于數據之間關聯多樣化和復雜化,系統設計之初需要考慮到為建立主數據管理體系和數據標準體系提供靈活可配置的數據模型,對于其采用的主數據庫選型,傳統的關系型數據庫受到了一定的限制和約束。

近年來,有別于傳統關系型數據庫,出現了一系列新型的No-SQL數據庫類型(Not Only SQL,非關系型數據庫),其中圖數據庫(Graph Database)是一種以圖結構進行語義查詢,并使用頂點、邊與屬性來表示和存儲數據的數據庫[1]。圖數據庫的關鍵概念是邊,通過邊將頂點連接在一起,從而進行快速的圖檢索操作。圖數據庫的關注點是“關聯關系”形成的圖,其目標是對現實世界中的實體與實體之間的關聯關系進行存儲與分析:將實體抽象為頂點、將實體之間的關聯關系抽象為邊。通過頂點和邊形成的圖譜結構,直觀自然的表達萬物關聯的世界,同時解決了復雜關聯關系深層檢索的性能問題。

考慮到工程數據中心的主數據特點,本文探討在工程數據中心的設計中應用圖數據庫存儲和管理工程主數據,以維護其復雜多變的關聯關系,實踐中本文案例選取了具備多種NoSQL特點的原生多模型圖數據庫ArangoDB,構建了工程數據中心的主數據服務。

1 圖數據庫簡介

現實世界中的一切事物都處在聯系之中,如人際關系、電腦網絡、地理數據、分子結構模型等,無一不處在紛繁復雜的聯系之中。這種聯系,形成了一種互相關聯的數據,聯系才是數據的本質所在。傳統的關系型數據庫并不能很好地表現數據的聯系,而一些NoSQL數據庫又不能表現數據之間的聯系。同樣是NoSQL的圖數據庫,是以圖的結構形式來存儲數據的,它所存儲的就是聯系的數據,是關聯數據本身[2]。

關聯數據中的聯系本來就很復雜,若要在關系型數據庫中使用結構化形式來表現這種聯系,則一般不能直接表示,處理起來既煩瑣又費事,并且隨著數據的不斷增長,其訪問性能將日趨下降。無數的開發人員和數據庫管理人員都或多或少地使用過關系型數據庫,在其應用的規模化進展過程中,對于數據庫的性能優化往往捉襟見肘、陷入窘境。圖數據庫沒有模式結構的定義,也不需要這些定義,它使用非結構化的方式來存儲關聯數據,所以能夠直接表現數據的關聯特性。

2 圖數據庫優勢

2.1 數據處理速度

圖數據庫可以很高效地插入大量數據。圖數據庫面向的應用領域數據量可能都比較大,比如知識圖譜、社交關系、風控關系等,總數據量級別一般在億或十億以上,有的甚至達到百億級。關系型數據庫如mysql不做分庫分表的情況下插入百萬數據基本就很慢,圖數據則能夠勝任億級以上的數據,比如Neo4j、ArangoDB等圖數據庫,在持續插入億級的數據基本還能保持在一個較高的速度[3]。

圖數據庫可以很高效地查詢關聯數據。傳統關系型數據庫不擅長做關聯查詢,特別是多層關聯。因為關系型數據庫一般需要做表連接,表連接是一個很昂貴的操作,涉及到大量的IO操作和內存消耗。圖數據庫對關聯查詢一般都進行針對性的優化,比如存儲模型上、數據結構、查詢算法等,防止局部數據的查詢引發全部數據的讀取[4]。

2.2 擴展性

圖數據庫使用圖的方式來表達現實世界的關系很直接、自然,易于建模。比如工程中某位工程師繪制了一張圖紙,就可以建立一條邊連接這個工程師和這張圖紙,這條邊就叫做“繪制”邊,同時這位工程師還是可以有很多其他的邊,比如所屬部門、檢查設備邊等,同樣這張圖紙也有其他邊,這樣很自然地就構建了關系網。

此外,圖數據庫提供了針對圖檢索的查詢語言和專業的分析算法工具。圖數據庫語言比如GRE面臨、Cypher等,算法比如ShortestPath、PageRank,PersonalRank、Louvain等,這些語言、算法工具為圖數據庫的擴展提供了很大的便利。

3 數據處理技術方案

3.1 數據庫選擇與設計

ArangoDB是一個原生多模型數據庫,兼有key/value鍵/值對、graph圖和document文檔數據模型,提供了涵概三種數據模型的統一的數據庫查詢語言,并允許在單個查詢中混合使用三種模型。基于其本地集成多模型特性,支持搭建高性能程序,并且這三種數據模型均支持水平擴展。

本文的實踐中,選擇了ArangoDB數據庫作為工程數據中心主數據服務的存儲解決方案,主要理由是其多模型特征在利用其圖存儲特性之外,還能利用鍵/值對模型與工程數據中心包括元數據服務在內的其他服務模塊進行跨數據庫數據映射匹配。

3.1.1 容器設計

不同于關系型數據庫,圖數據庫沒有表結構,取而代之的是容器的概念。容器與表相似,可以定義屬性字段和標簽。容器分普通容器和邊容器,普通容器用于存儲圖的節點,邊容器則存儲圖的邊。

工程數據中心的應用場景將工程數據對象用普通容器存儲為節點,并定義為主數據容器。

主數據容器包含固定字段和動態字段,固定字段用于標識數據對象的類型和基本信息,動態字段是一個JSON形式保存鍵值對的字段,用于保存基于實際應用場景定義的數據對象屬性。

3.1.2 動態字段設計

為適應可動態配置的屬性字段結構,把屬性字段定義在單獨的表進行維護,并約束屬性字段的名稱、類型、規則和取值范圍,通過唯一的屬性字段ID進行匹配。具體匹配方式為,在用于存儲動態字段的JSON子串中,用屬性字段ID作為鍵值對的鍵,對應的屬性值作為鍵值對的值。當數據對象被讀取時,對JSON字串中每個鍵值對,利用屬性字段ID匹配查詢出每個屬性字段的名稱、類型等信息,配上鍵值對的值,即為完整的每個屬性。

該設計還可以將數據對象的關聯關系抽象為一種屬性字段,并通過屬性字段ID和圖數據存儲結構的邊進行標簽關聯,數據對象與另一個數據對象的關聯描述作為一個引用屬性在數據對象的內容中體現。

3.2 事務處理

在數據處理的過程中,不可避免的需要面對事務機制,在存在多種關聯關系的圖結構數據中,數據聯動修改時的事務機制實現也是圖數據庫應用實踐中需要面對的問題。

Spring Data ArangoDB對數據庫事務機制的支持并不完善,實踐中開發團隊對此進行了額外的處理,利用ArangoDB Java Driver驅動模塊提供的事務相關接口完成了事務封裝的實現。事務實現流程見圖1:通過構建自定義的事務處理模版,將數據處理相關的核心流程進行封裝,并將事務實現的相關流程(獲取事務ID、構建選項參數、調用)操作嵌入模版,利用驅動提供的ArangoAspect完成事務機制的實現。

4 圖數據庫應用實踐

4.1 工程數據中心說明

工程數據中心項目目標是為建立各工程行業BIM模型及工程數據標準,梳理設計、建管、運維三大平臺的主數據及關系,實現工程全過程數據貫通,并在此基礎上不斷圍繞工程進行數據的集成、復用、沉淀,從而創造數據價值和業務價值[5]。

工程主數據指具有高業務價值的、可以在工程內跨越各個階段、各個業務部門被重復使用的數據,是具有單一、準確、權威性質的數據。工程主數據包含工程元數據、工程引用數據、工程結構數據、業務結構數據。工程元數據,指工程數據中心最基礎的數據,是關于工程數據的數據,或者是用于描述其他工程數據的結構數據。工程引用數據,定義了工程元數據的可能取值范圍,也可稱為屬性值域。工程結構數據,描述了工程數據之間的關系,反映了現實世界的實體間的關系或流程。業務結構數據,數據描述了各工程業務的直接參與者,業務結構數據描述的數據實體通常由一個唯一的數據編碼以及大量的屬性信息構成。根據工程數據中心業務應用需求,數據層負責數據存儲,包括工程元數據、工程引用數據、工程結構數據、業務結構數據、模型文件、模型屬性、空間位置及文檔文件等,這些數據包含結構化與非結構化數據,為了存儲這些數據,需要采用多種存儲技術,構建異構數據系統,具體包括:分布式緩存(Redis)這類內存數據庫,用于提升服務響應性能;對象存儲(Minio,ObjectStorage Service)用于存儲非結構化數據,如模型、文檔;關系型數據庫(MySQL)用于存儲主數據及系統相關數據;圖數據庫(ArangoDB)用于存儲工程對象數據,組成工程對象關系網絡;空間數據庫(PostgreSQL+PostGIS)用于存儲BIM的空間幾何數據。

4.2 圖數據庫的應用

圖數據庫在工程數據中心用于存儲工程對象數據,包括數據對象和對象關聯關系。具體數據對象的創建思路分兩步。

第一步,建立數據標準,數據標準描述了工程對象數據的關系結構和屬性字段定義。將數據標準結構化存儲,其結果稱為工程元數據,這些工程元數據并不以圖結構存儲而是更適合以SQL數據庫存儲,僅用于驅動工程對象數據的存取操作過程。

第二步,完成工程元數據創建后,可以在圖數據庫具體創建工程數據對象,按上文3.1.2節所述的動態字段設計邏輯,工程數據對象基于第一步的工程元數據創建數據對象實體,包括其動態屬性字段,即為圖結構的節點,和創建數據對象之間的關聯關系,即為圖結構的邊。

在實踐過程中,第一步過程擴展為工程數據中心的工程元數據管理模塊,用于維護數據標準的創建、迭代和應用管理;第二步過程則被項目數據管理模塊涵蓋,在底層實現時,通過將工程元數據的內容抽象為“數據模版”,并指導在圖數據庫上創建和更新工程數據對象,包括控制工程數據對象的數據域,操作其屬性字段的類型、值域和校驗規則,也包括以將數據對象關聯關系抽象為主對象的一個引用屬性的方式,操作數據對象關聯所對應的邊。

在數據對象以圖結構完成存儲之后,工程數據中心可以基于圖數據庫提供的一系列圖算法函數,對工程數據對象的關系網進行一系列的分析、遍歷和統計。

5 結束語

本文介紹了圖數據庫作為No-SQL數據庫的一種,其與關系型數據庫對比的優點。為滿足工程數據中心的主數據存儲應用場景的需求,本文重點闡述了采用圖數據庫ArangoDB構建工程數據中心主數據服務存儲方案的設計思路和應用實踐過程。基于以上論述可見,采用圖數據庫作為工程數據中心的主數據服務存儲方案規避了采用關系型數據庫會遭遇的一系列難題,有效降低了開發和系統后續升級維護的復雜度,并且基于圖結構數據為未來基于圖的數據分析應用提供了可能。

參考文獻(References):

[1] 王慧孜,范煒.圖數據庫在標簽系統中的應用研究[J].數字圖書館論壇,2015.4.

[2] 楊振萬,為清.圖數據庫的研究和應用電腦編程技巧與維護,2020.12.

[3] 劉玉程,李港.NoSQL數據庫與關系型數據庫對比[J].中國新通信,2018.7.

[4] 杜麗娟.關系型數據庫與NoSQL數據庫的性能對比[J].智能計算機與應用,2017.3.

[5] 王金鋒,張業星,陳健等.水電全生命周期工程數據中心及其關鍵技術[J].水力發電,2014.40(8):21-24

猜你喜歡
數據存儲
簡單的數據修復
文理導航(2017年2期)2017-02-16 13:18:46
大數據時代檔案信息建設的認識和實踐
淺談電力大數據平臺關鍵技術研究與應用
開源數據庫數據存儲的實現路徑分析
基于Android開發的APP數據存儲研究
哈希算法在物聯網數據存儲中的應用
空難事故跨媒體信息采集與檢索方法的研究
基于STM32的AD采集與SD卡數據存儲
淺談信息系統工程和POJO模型組件開發
基于MongoDB的調查決策系統數據存儲方案設計
主站蜘蛛池模板: 毛片手机在线看| 成人午夜精品一级毛片| 日本一本正道综合久久dvd| 2019年国产精品自拍不卡| 日韩午夜片| 国产肉感大码AV无码| 成年人视频一区二区| 色妞www精品视频一级下载| 欧美国产日韩一区二区三区精品影视| 亚洲丝袜第一页| 亚洲人成在线精品| 欧美一区中文字幕| 中文国产成人精品久久| 国产成人狂喷潮在线观看2345| 色吊丝av中文字幕| 国产大全韩国亚洲一区二区三区| 国产国模一区二区三区四区| 日本午夜三级| 日本成人一区| 91小视频在线播放| 国产乱人视频免费观看| 国产va在线观看免费| 午夜免费视频网站| 亚洲日韩久久综合中文字幕| 精品少妇人妻av无码久久| 亚洲综合二区| 亚洲a级毛片| 欧美a级完整在线观看| 国产精品分类视频分类一区| 在线观看国产黄色| 亚洲天堂视频在线观看| 亚洲女同欧美在线| 久久精品亚洲中文字幕乱码| 亚洲v日韩v欧美在线观看| 国产女人水多毛片18| 成人在线亚洲| 精品少妇三级亚洲| 国产交换配偶在线视频| 国产视频欧美| 国产微拍精品| 欧美区日韩区| 欧美三级视频网站| 国产二级毛片| 亚洲女人在线| 亚洲成人在线免费观看| 日韩AV无码免费一二三区| 99re精彩视频| 亚欧成人无码AV在线播放| 一本大道视频精品人妻| 亚洲首页在线观看| 免费激情网址| 青青草原国产免费av观看| 四虎国产永久在线观看| 日韩欧美91| 国产草草影院18成年视频| 精品国产成人高清在线| 在线看片中文字幕| 伊伊人成亚洲综合人网7777| 国产成人高清亚洲一区久久| 亚洲AⅤ无码国产精品| 小蝌蚪亚洲精品国产| 国产专区综合另类日韩一区| 国产欧美另类| 国产91九色在线播放| 天堂久久久久久中文字幕| 青青青亚洲精品国产| 国产微拍精品| 97免费在线观看视频| 国产精品视频系列专区| 国产呦视频免费视频在线观看| 国产成人高清精品免费5388| 久草性视频| 综合天天色| 人妻精品全国免费视频| 色135综合网| 8090午夜无码专区| 中文字幕在线看视频一区二区三区| 国产精品第一区| 尤物国产在线| 午夜福利网址| 乱人伦视频中文字幕在线| 国产剧情一区二区|