0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

圖數(shù)據(jù)庫的特性及其優(yōu)勢

jf_78858299 ? 來源:基礎技術研究 ? 作者:張利龍 ? 2023-03-29 13:35 ? 次閱讀

在萬物互聯(lián)的時代,圖數(shù)據(jù)庫在金融科技、社交網(wǎng)絡等領域發(fā)揮著不可替代的作用,它能清晰地揭示各類復雜模式。

本文介紹了圖數(shù)據(jù)庫的歷史由來、特性及其優(yōu)勢,并說明了圖數(shù)據(jù)庫解決的是什么樣的問題,闡述了圖數(shù)據(jù)庫的應用場景,并對其發(fā)展做了展望。

1

概 述 #

【 簡介 】

在當前的環(huán)境中,通信、互聯(lián)網(wǎng)、社交網(wǎng)絡和物聯(lián)網(wǎng)等領域積累了大量的關聯(lián)數(shù)據(jù)。

面對各種海量數(shù)據(jù),尤其是海量非結(jié)構化數(shù)據(jù)的存儲,傳統(tǒng)的信息存儲和組織模式已經(jīng)無法滿足客戶需求,圖數(shù)據(jù)庫卻能夠很清晰地揭示各類復雜模式,提供了新的方式為數(shù)據(jù)賦能,驅(qū)動行業(yè)發(fā)展。

【 什么是圖數(shù)據(jù)庫 】

圖數(shù)據(jù)庫(Graph Database)不是存儲圖像的數(shù)據(jù)庫,而是基于圖模型,使用圖結(jié)構進行語義操作的非關系型數(shù)據(jù)庫,它應用圖理論存儲實體之間的關系信息,最常見例子就是社會網(wǎng)絡中人與人之間的關系。 它使用頂點、 邊和屬性來表示和存儲數(shù)據(jù),支持數(shù)據(jù)的增刪改查操作。

在圖數(shù)據(jù)庫中,最主要的組成有兩種,結(jié)點集和連接結(jié)點的關系。 結(jié)點集就是圖中一系列結(jié)點的集合,比較接近于關系數(shù)據(jù)庫中所最常使用的表,而關系則是圖數(shù)據(jù)庫所特有的組成。

圖數(shù)據(jù)庫的代表有Neo4j、ArangoDB、Virtuoso、Neptune、JanusGraph、TigerGraph等。

【 圖數(shù)據(jù)庫發(fā)展 】

據(jù)數(shù)據(jù)庫咨詢公司DBEngines統(tǒng)計,圖數(shù)據(jù)庫是所有數(shù)據(jù)管理系統(tǒng)中成長最快的分類。由于很早就被Twitter,F(xiàn)acebook以及Google在內(nèi)的公司采用,圖已經(jīng)逐漸演變成當今各行各業(yè)所使用的主流技術,連續(xù)多年處于高速發(fā)展中。

2007年,第一款圖數(shù)據(jù)庫Neo4j的誕生,給關聯(lián)查詢帶來了情理之中卻又意料之外的性能優(yōu)勢。2010 年后,圖數(shù)據(jù)庫朝著多個不同的方向發(fā)展,包括支持大規(guī)模分布式圖處理、支持多模態(tài)、圖查詢語言的設計、專用硬件的適配等,并且不斷在存儲和計算能力上發(fā)展。

值得關注的是,全球最具權威的 IT 研究與顧問咨詢公司 Gartner,將圖技術列為2022年新興技術和趨勢影響力雷達圖中,五項具有影響力的技術之一。

圖片

圖數(shù)據(jù)庫發(fā)展史

2圖數(shù)據(jù)庫技術

在我們了解科學、政府和商業(yè)領域的數(shù)據(jù)集廣泛多樣性的過程中,圖起到了基地的作用?,F(xiàn)實世界完全不同于關系型數(shù)據(jù)庫背后的基于表的模型,它是豐富的且互相之間充滿關聯(lián)。一旦理解了圖,你就會發(fā)現(xiàn)圖無處不在。比如,Gartner定義了商業(yè)世界的5個圖:社交、意向、消費、興趣和移動,并指出運用這些圖的能力是一個“可持續(xù)的競爭優(yōu)勢”。

本章將對圖數(shù)據(jù)模型、圖數(shù)據(jù)存儲以及圖數(shù)據(jù)查詢等方面進行簡要介紹。

【 圖數(shù)據(jù)模型 】

圖模型是圖數(shù)據(jù)庫表達圖數(shù)據(jù)的抽象模型。目前主流的圖模型主要包括資源描述框架(RDF)和屬性圖兩種。

RDF提供了一個統(tǒng)一的標準來描述資源,所謂資源可以指類、屬性、實例等。 RDF 在形式上表示為 SPO(subject, predicate, object)三元組,即(主語/主體、謂語/屬性、賓語/客體),用于描述具體的事物及關系。

圖片

RDF模型

相較于RDF,目前主流的圖數(shù)據(jù)庫選擇的圖模型是屬性圖。 **屬性圖由點、邊、標簽和屬性組成。**開源圖數(shù)據(jù)庫 Neo4j 和 JanusGraph 都采用屬性圖的數(shù)據(jù)模型。

圖片

屬性圖模型

【 圖數(shù)據(jù)存儲 】

**圖數(shù)據(jù)庫有原生和非原生存儲兩種存儲方式。**我們以Neo4j和JanusGraph為例簡要說明兩種方式。

Neo4j使用原生設計的圖存儲,將圖數(shù)據(jù)存儲在若干不同的存儲文件中,每個存儲文件包含圖特定部分的數(shù)據(jù)(例如,節(jié)點、聯(lián)系、標簽和屬性都各自獨立的存儲),其中常用的存儲方式為鏈表、排序樹以及哈希表等。

JanusGraph 使用非原生圖存儲,將圖結(jié)構序列化存儲到鍵值對數(shù)據(jù)庫中。也有很多圖數(shù)據(jù)庫在存儲上直接使用了 NoSQL 數(shù)據(jù)庫,比如鍵值對存儲、文檔存儲等。

【 圖數(shù)據(jù)查詢 】

按照查詢范圍的遞增順序,面向圖數(shù)據(jù)的查詢可以大體分成單點查詢、鄰居查詢、路徑遍歷、子圖匹配和全圖分析這幾類。

與關系模型以及其它 NoSQL 數(shù)據(jù)模型相比,基于圖數(shù)據(jù)模型的查詢具有更高的復雜度,這就對查詢語言提出了更高的要求。查詢語言按照編寫的邏輯,可以分為描述式和命令式兩種。

目前為止,圖數(shù)據(jù)庫尚且沒有業(yè)界統(tǒng)一認可的查詢語言,通常都是僅限于一個產(chǎn)品的。不過,已經(jīng)有一些標準化的工作,使得Gremlin、SPARQL成為代表性描述式查詢語言,Cypher成為代表性命令式查詢語言。

3圖數(shù)據(jù)庫的優(yōu)勢

圖數(shù)據(jù)庫為何越來越受到歡迎呢?通過節(jié)點,邊和屬性的圖的格式存儲數(shù)據(jù),圖數(shù)據(jù)庫克服了其他數(shù)據(jù)庫無法解決的大而復雜的數(shù)據(jù)難題,其獨特性可以體現(xiàn)為以下三個方面:

① 性能

在關聯(lián)關系的處理上,關系型數(shù)據(jù)庫處理不可避免要用到表的 JOIN 操作,非常影響性能。而圖數(shù)據(jù)庫則是類似指針直接跳轉(zhuǎn)訪問,在典型查詢上比關系數(shù)據(jù)庫通常有n個數(shù)量級的性能優(yōu)勢。

② 兼容性

現(xiàn)實中的項目通常是不斷演進的,意味著數(shù)據(jù)內(nèi)容甚至數(shù)據(jù)格式也會不斷發(fā)生變化。在關系型數(shù)據(jù)庫中,這意味著表結(jié)構的變化,或者多個新表的建立,對源數(shù)據(jù)的改動非常大。而在圖數(shù)據(jù)庫里,僅需添加新的頂點、邊、屬性,設置為對應的類型即可。從本質(zhì)上說,一個頂點代表一個特定的數(shù)據(jù),也就是說圖數(shù)據(jù)庫更關注數(shù)據(jù)的個體,識別其關聯(lián)關系。

③ 直觀性

頂點和邊的圖模型相比于表模型更符合人的思維方式。比如我們面對面用紙筆交流介紹社交網(wǎng)絡關系,會自然而然地使用點邊的方式畫出來,這正是圖模型。在圖數(shù)據(jù)上進行分析查詢時,也可以直觀地通過點邊連接的拓撲,交互式找到想要的數(shù)據(jù)。因此有一種說法是:與關系型數(shù)據(jù)庫相比,圖數(shù)據(jù)關系才是真的處理“關系”的。

4

圖數(shù)據(jù)庫的應用 *

圖數(shù)據(jù)庫的應用原理是查詢和分析連接數(shù)據(jù),對海量數(shù)據(jù)建立關聯(lián),并通過多樣及快速的方法對數(shù)據(jù)進行分析與挖掘。此外,與其他類型數(shù)據(jù)庫相比,圖數(shù)據(jù)庫的操作更為便捷、數(shù)據(jù)更加直觀、存儲模式靈活、應用場景豐富,是未來處理復雜數(shù)據(jù)關系的技術趨勢。

目前圖數(shù)據(jù)庫的需求應用場景正在不斷增多,而從計算和分析數(shù)據(jù)之間關系的角度來說,圖數(shù)據(jù)庫比傳統(tǒng)數(shù)據(jù)庫的性能約有百倍以上的提升,在金融、電信等一系列領域都面臨著巨大的需求。

以數(shù)據(jù)的關聯(lián)特征與問題的相似性為基礎,典型的圖數(shù)據(jù)庫應用場景如下:反欺詐、推薦引擎、知識圖譜、主數(shù)據(jù)管理、地理空間分析以及社交網(wǎng)絡等。

圖片

圖數(shù)據(jù)庫應用場景

5

我國****圖數(shù)據(jù)庫現(xiàn)狀

目前,歐美國家的 Neo4j 和 ArangoDB 等數(shù)據(jù)庫系統(tǒng)仍然是市場的主流。與歐美國家相比,中國人口眾多,數(shù)據(jù)量巨大,相應的圖數(shù)據(jù)庫需求也更大。但是,中國的圖數(shù)據(jù)庫基礎研究相對薄弱,缺少專業(yè)的數(shù)據(jù)處理人才,更是制約了圖數(shù)據(jù)庫的應用與發(fā)展。

因此,在發(fā)展層面,我國需要更專注產(chǎn)品的技術創(chuàng)新層面,打造更完全自主的圖數(shù)據(jù)庫;在服務層面,積極探索云計算模式的圖數(shù)據(jù)庫服務,打造基于云計算的圖數(shù)據(jù)庫;在應用方面,繼續(xù)在圖的可視化工具方面進行創(chuàng)新,通過拖拽的方式,自動生成查詢語言、實時反饋結(jié)果,提升圖數(shù)據(jù)庫的應用便捷性。通過圖數(shù)據(jù)庫發(fā)現(xiàn)不同事物、數(shù)據(jù)之間的深度關聯(lián),獲得更深層次的洞察。

值得一提的是,基于AMiner的數(shù)據(jù)分析顯示,我國在圖數(shù)據(jù)庫領域的研究熱度僅次于美國,也涌現(xiàn)了一些比較知名的圖數(shù)據(jù)庫,比如:阿里云圖數(shù)據(jù)庫Graph Database,騰訊云圖數(shù)據(jù)庫Tencent Graph Database以及百度圖數(shù)據(jù)庫HugeGraph等。

6

**# **圖數(shù)據(jù)庫的展望 #

當前,我們對圖的了解是建立在數(shù)百年的數(shù)學和科學研究之上的,而基于此的圖數(shù)據(jù)庫正在用它獨有的優(yōu)勢展現(xiàn)出強大的生命力。

未來,隨著全球范圍內(nèi)互聯(lián)網(wǎng)用戶、設備和數(shù)字處理的增多,生成的數(shù)據(jù)也越來越多。也就是說,企業(yè)能否充分利用相關數(shù)據(jù)決定著企業(yè)未來的發(fā)展。圖數(shù)據(jù)庫將會是存儲、關聯(lián)和利用數(shù)據(jù)最有效的方式。可以想象的是,通過設計和實現(xiàn)圖數(shù)據(jù)庫解決方案,以及應用圖算法解決復雜的商業(yè)問題的知識,將會構建出一個開拓性的信息系統(tǒng)。

接下來圖數(shù)據(jù)庫可能面臨三大趨勢,分別是查詢語言統(tǒng)一化、圖數(shù)據(jù)庫與圖處理引擎融合化、軟硬件一體化。****我們期待未來圖數(shù)據(jù)庫的發(fā)展,能夠帶給全行業(yè)新的面貌。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 物聯(lián)網(wǎng)

    關注

    2894

    文章

    43312

    瀏覽量

    366404
  • 硬件
    +關注

    關注

    11

    文章

    3112

    瀏覽量

    65846
  • 數(shù)據(jù)庫

    關注

    7

    文章

    3711

    瀏覽量

    64023
收藏 人收藏

    評論

    相關推薦

    模型和數(shù)據(jù)庫

    在真實世界中,存在著許多十分相似的網(wǎng)絡結(jié)構,可以使用極為簡單的來建立它們的模型。模型和數(shù)據(jù)庫得到廣泛的關注,并且在許多應用領域獲得的應用。
    發(fā)表于 09-02 07:18

    數(shù)據(jù)庫及其應用習題與真題解析

    數(shù)據(jù)庫及其應用習題與真題解析  本書是針對全國高等教育自學考試計算機及應用專業(yè)(???《數(shù)據(jù)庫及其應用》教材編寫的輔導材料。全書共分成三篇。第一篇是配套
    發(fā)表于 06-10 17:12 ?45次下載

    Amazon RDS云數(shù)據(jù)庫優(yōu)勢

    。Amazon RDS 通過管理耗時的數(shù)據(jù)庫管理任務(包括備份、軟件修補、監(jiān)控、擴展和復制),讓您能專注于應用程序。 優(yōu)勢 易于管理 Amazon RDS for MariaDB 可以自動執(zhí)行設置
    發(fā)表于 10-13 16:51 ?0次下載

    數(shù)據(jù)庫學習入門之如何進行數(shù)據(jù)庫設計詳細分析概述資料免費下載

    根據(jù)應用和用戶的要求,設計有效的數(shù)據(jù)庫模式, 建立數(shù)據(jù)庫及其應用系統(tǒng)的過程稱為數(shù)據(jù)庫設計。
    發(fā)表于 09-05 14:26 ?14次下載
    <b class='flag-5'>數(shù)據(jù)庫</b>學習入門之如何進行<b class='flag-5'>數(shù)據(jù)庫</b>設計詳細分析概述資料免費下載

    數(shù)據(jù)庫教程之如何進行數(shù)據(jù)庫設計

    本文檔的主要內(nèi)容詳細介紹的是數(shù)據(jù)庫教程之如何進行數(shù)據(jù)庫設計內(nèi)容包括了:1 數(shù)據(jù)庫設計概述 ,2 數(shù)據(jù)庫需求分析 ,3 數(shù)據(jù)庫結(jié)構設計 ,4
    發(fā)表于 10-19 10:41 ?21次下載
    <b class='flag-5'>數(shù)據(jù)庫</b>教程之如何進行<b class='flag-5'>數(shù)據(jù)庫</b>設計

    數(shù)據(jù)庫應用系統(tǒng)的優(yōu)勢

    數(shù)據(jù)庫應用系統(tǒng)是由數(shù)據(jù)庫系統(tǒng)、應用程序系統(tǒng)、用戶組成的,具體包括:數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫管理員、硬件平臺、軟件平臺、應用軟件、應用界
    的頭像 發(fā)表于 02-28 15:50 ?6399次閱讀

    內(nèi)存數(shù)據(jù)庫的應用優(yōu)勢是怎樣的

    想了解內(nèi)存數(shù)據(jù)庫的應用優(yōu)勢,舉個具體的例子來說明應該會更直觀生動。 拿運營商來舉例,某家運營商的云能力中心現(xiàn)在用的是基于磁盤架構數(shù)據(jù)庫(如MySQL),但是隨著業(yè)務的不斷發(fā)展,出現(xiàn)了數(shù)據(jù)
    的頭像 發(fā)表于 06-20 18:13 ?835次閱讀

    AlloyDB數(shù)據(jù)庫云服務的優(yōu)勢

    AlloyDB(預覽版)是一種 PostgreSQL 兼容的數(shù)據(jù)庫云服務。它是一個與開源標準兼容的新型數(shù)據(jù)庫引擎,可用于處理頂級關系型數(shù)據(jù)庫工作負載。AlloyDB 結(jié)合了 Google 的技術精華和最受歡迎的開源
    的頭像 發(fā)表于 09-22 10:52 ?881次閱讀

    PetaExpress云數(shù)據(jù)庫 MongoDB(mongodb數(shù)據(jù)庫)優(yōu)勢

    MongoDB(mongodb數(shù)據(jù)庫)優(yōu)勢: 輕松部署文檔數(shù)據(jù)庫MongoDB 控制臺可以創(chuàng)建數(shù)據(jù)庫,文檔數(shù)據(jù)庫MongoDB 例子可以在
    的頭像 發(fā)表于 07-14 10:06 ?464次閱讀

    數(shù)據(jù)庫和普通數(shù)據(jù)庫區(qū)別?|PetaExpress云端數(shù)據(jù)庫

    和持久性有四個特點。 云數(shù)據(jù)庫和普通數(shù)據(jù)庫相比都具備哪些優(yōu)勢? 1)安全穩(wěn)定 云端數(shù)據(jù)庫服務,能夠幫助用戶將危險的操作收縮起來,避免數(shù)據(jù)庫
    的頭像 發(fā)表于 08-01 17:13 ?930次閱讀

    python讀取數(shù)據(jù)庫數(shù)據(jù) python查詢數(shù)據(jù)庫 python數(shù)據(jù)庫連接

    python讀取數(shù)據(jù)庫數(shù)據(jù) python查詢數(shù)據(jù)庫 python數(shù)據(jù)庫連接 Python是一門高級編程語言,廣泛應用于各種領域。其中,Python在
    的頭像 發(fā)表于 08-28 17:09 ?1601次閱讀

    數(shù)據(jù)庫應用及其特點 數(shù)據(jù)庫數(shù)據(jù)的基本特點

    數(shù)據(jù)庫應用及其特點 數(shù)據(jù)庫數(shù)據(jù)的基本特點? 數(shù)據(jù)庫應用及其特點 隨著計算機技術的不斷發(fā)展和普及,
    的頭像 發(fā)表于 08-28 17:22 ?2534次閱讀

    NoSQL 數(shù)據(jù)庫如何選型

    什么是NoSQL數(shù)據(jù)庫?為什么要使用NoSQL數(shù)據(jù)庫?鍵值數(shù)據(jù)庫內(nèi)存鍵值數(shù)據(jù)庫文檔數(shù)據(jù)庫列式數(shù)據(jù)庫
    的頭像 發(fā)表于 11-26 08:05 ?357次閱讀
    NoSQL <b class='flag-5'>數(shù)據(jù)庫</b>如何選型

    什么是JSON數(shù)據(jù)庫

    如何理解JSON數(shù)據(jù)庫?作為NoSQL數(shù)據(jù)庫的一種類型,JSON數(shù)據(jù)庫有哪些優(yōu)勢呢?JSON數(shù)據(jù)庫如何運作,它為應用程序開發(fā)者帶來了哪些價值
    的頭像 發(fā)表于 12-02 08:04 ?687次閱讀
    什么是JSON<b class='flag-5'>數(shù)據(jù)庫</b>

    關于JSON數(shù)據(jù)庫

    如何理解JSON數(shù)據(jù)庫?作為NoSQL數(shù)據(jù)庫的一種類型,JSON數(shù)據(jù)庫有哪些優(yōu)勢呢?JSON數(shù)據(jù)庫如何運作,它為應用程序開發(fā)者帶來了哪些價值
    的頭像 發(fā)表于 12-06 13:46 ?710次閱讀
    關于JSON<b class='flag-5'>數(shù)據(jù)庫</b>