成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

圖數(shù)據(jù)庫(kù) | 靈活存儲(chǔ)復(fù)雜關(guān)聯(lián)關(guān)系

存儲(chǔ) 存儲(chǔ)軟件
圖數(shù)據(jù)庫(kù)并不是存儲(chǔ)圖片的數(shù)據(jù)庫(kù),參照維基百科的定義,他是“以圖數(shù)據(jù)結(jié)構(gòu)來(lái)實(shí)現(xiàn)語(yǔ)義查詢,并以節(jié)點(diǎn)(node)、邊(edge)、屬性(properties)來(lái)表示并存儲(chǔ)數(shù)據(jù)”。是不是聽(tīng)完感到一臉懵?

 在這個(gè)數(shù)據(jù)為王的時(shí)代,如何存儲(chǔ)及分析海量數(shù)據(jù),是個(gè)不那么容易的事情。近年來(lái),圖數(shù)據(jù)庫(kù)逐漸映入我們眼簾,已成為NoSQL中關(guān)注度***,發(fā)展趨勢(shì)最明顯的數(shù)據(jù)庫(kù)之一。圖數(shù)據(jù)庫(kù),他是誰(shuí)?從哪兒來(lái)?牛在哪兒?怎樣助力研發(fā)工作?且聽(tīng)京東攻城獅怎么說(shuō)。

[[238291]]

他是誰(shuí)

圖數(shù)據(jù)庫(kù)并不是存儲(chǔ)圖片的數(shù)據(jù)庫(kù),參照維基百科的定義,他是“以圖數(shù)據(jù)結(jié)構(gòu)來(lái)實(shí)現(xiàn)語(yǔ)義查詢,并以節(jié)點(diǎn)(node)、邊(edge)、屬性(properties)來(lái)表示并存儲(chǔ)數(shù)據(jù)”。是不是聽(tīng)完感到一臉懵?

[[238292]]

用大白話來(lái)講,圖數(shù)據(jù)庫(kù)就是以“圖數(shù)據(jù)結(jié)構(gòu)”來(lái)存儲(chǔ)并查詢數(shù)據(jù)。

如果你連什么是“圖數(shù)據(jù)結(jié)構(gòu)”都不知道,那你的數(shù)據(jù)結(jié)構(gòu)一定是體育老師教的,請(qǐng)回去自行復(fù)習(xí)《數(shù)據(jù)結(jié)構(gòu)與算法》這本經(jīng)典教材。

讓我們?cè)倩氐綀D數(shù)據(jù)上,看看他的一些關(guān)鍵核心概念,圖數(shù)據(jù)庫(kù)源于圖理論,具有如下幾個(gè)特征:

  • 節(jié)點(diǎn)(node):通常表示實(shí)體,例如人員、賬戶、事件等,相當(dāng)于RDBMS中的一行記錄。
  • 邊(edge):又被稱(chēng)為關(guān)系(relationships),具有名字和方向,從一個(gè)節(jié)點(diǎn)指向另一個(gè)節(jié)點(diǎn),邊是圖數(shù)據(jù)庫(kù)中最顯著的一個(gè)特征,在RDBMS中沒(méi)有對(duì)應(yīng)實(shí)現(xiàn)。
  • 屬性(properties):類(lèi)似KV數(shù)據(jù)庫(kù)中的鍵值對(duì),節(jié)點(diǎn)和邊都可以有屬性。

圖數(shù)據(jù)庫(kù)將數(shù)據(jù)以屬性方式存儲(chǔ)在節(jié)點(diǎn)或邊中,以邊來(lái)表示節(jié)點(diǎn)之間的關(guān)系,并用特定查詢語(yǔ)言,進(jìn)行數(shù)據(jù)檢索。

節(jié)點(diǎn)、邊、屬性示意圖

他從哪兒來(lái)

從圖數(shù)據(jù)庫(kù)的原型出現(xiàn)至今,已經(jīng)發(fā)展超過(guò)了半個(gè)世紀(jì)。圖數(shù)據(jù)庫(kù)的前身,可以追溯至上世紀(jì)60年代的Navigational databases,IBM開(kāi)發(fā)了類(lèi)似樹(shù)形結(jié)構(gòu)的數(shù)據(jù)存儲(chǔ)模型。到1969年的網(wǎng)絡(luò)數(shù)據(jù)庫(kù)語(yǔ)言(Network database language),支持圖數(shù)據(jù)結(jié)構(gòu)的展現(xiàn)。

又經(jīng)過(guò)漫長(zhǎng)的30年,其間出現(xiàn)過(guò)可標(biāo)記的圖形數(shù)據(jù)庫(kù)Logic Data Model,直至21世紀(jì)初,人們研發(fā)出具有ACID特性的里程碑式圖數(shù)據(jù)庫(kù)產(chǎn)品,例如:Neo4j、Oracle Spatial and Graph。

到2010年后,可支持水平擴(kuò)展的分布式圖數(shù)據(jù)庫(kù)開(kāi)始興起,例如OrientDB,ArangoDB,MarkLogic。至今,各式各樣的圖數(shù)據(jù)庫(kù)越來(lái)越受到重視,在Google、LinkedIn、Facebook這些***大公司中,已經(jīng)有了廣泛應(yīng)用,迎來(lái)了他***的時(shí)代。

他牛在哪兒

在傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)RDBMS中,并沒(méi)有明確的關(guān)系概念,或許叫表格數(shù)據(jù)庫(kù)更貼切,而圖數(shù)據(jù)庫(kù),恰恰是表現(xiàn)實(shí)體之間關(guān)系的利器。

在表現(xiàn)實(shí)體間關(guān)系時(shí),RDBMS會(huì)將另一個(gè)實(shí)體的唯一標(biāo)識(shí),存儲(chǔ)到表中的某一列,來(lái)與其他實(shí)體進(jìn)行關(guān)聯(lián),例如典型的主鍵、外鍵。當(dāng)遇到多對(duì)多關(guān)系時(shí),典型做法會(huì)引入中間表,來(lái)存儲(chǔ)兩個(gè)實(shí)體ID間的關(guān)系,例如我們最熟悉的用戶角色多對(duì)多關(guān)系。在查詢時(shí),需要多個(gè)表進(jìn)行join連接,依次查詢所需信息。

而圖數(shù)據(jù)庫(kù),會(huì)直接存儲(chǔ)兩個(gè)實(shí)體之間的關(guān)系。仍以用戶角色多對(duì)多關(guān)系舉例,用戶實(shí)體會(huì)有一個(gè)指針直接指向?qū)?yīng)的角色記錄,而這個(gè)指針,就是上文所述的“邊(edge或relationships)”。而這樣存儲(chǔ)的好處是,當(dāng)查詢用戶和角色時(shí),只查詢用戶就可順著“關(guān)系”直接取到角色信息,消除了RDBMS表關(guān)聯(lián)所花費(fèi)的性能開(kāi)銷(xiāo)。

用戶角色關(guān)系不同存儲(chǔ)方式示意圖

當(dāng)然,上述圖數(shù)據(jù)庫(kù)和RDBMS的對(duì)比只是舉了一個(gè)非常簡(jiǎn)單的例子。

圖數(shù)據(jù)庫(kù)真正的價(jià)值,是靈活存儲(chǔ)復(fù)雜關(guān)聯(lián)關(guān)系,在深度超過(guò)1層以上關(guān)系中查找遍歷,或是基于復(fù)雜算法的實(shí)時(shí)數(shù)據(jù)關(guān)系挖掘。

在電商推薦引擎中,通常需要整合商品、客戶、供應(yīng)商、物流等關(guān)鍵信息,挖掘用戶可能感興趣的商品。而圖數(shù)據(jù)庫(kù)可以快速記錄這些大量復(fù)雜關(guān)系,實(shí)時(shí)為用戶提供可能所需產(chǎn)品。

在社交網(wǎng)絡(luò)圖譜場(chǎng)景中,可記錄用戶社交關(guān)系,查找直接或間接認(rèn)識(shí)的人,查找交際網(wǎng)中***影響力的人物,這些操作對(duì)于圖數(shù)據(jù)庫(kù)都是易如反掌。

在搜索引擎場(chǎng)景中,利用圖數(shù)據(jù)庫(kù)形成知識(shí)網(wǎng)絡(luò),當(dāng)用戶輸入關(guān)鍵詞檢索時(shí),和關(guān)鍵詞義衍生的其他條目也可展現(xiàn)出來(lái),在大量數(shù)據(jù)下,可輕松維護(hù)這些知識(shí)的相互聯(lián)系。

在路徑規(guī)劃場(chǎng)景中,存儲(chǔ)各站點(diǎn)之間的關(guān)聯(lián),并實(shí)時(shí)計(jì)算出***路徑…

圖數(shù)據(jù)庫(kù)還有其他諸多應(yīng)用場(chǎng)景,當(dāng)遇到大數(shù)據(jù)量的復(fù)雜實(shí)體關(guān)系存儲(chǔ)、查詢及可視化,都可以考慮使用圖數(shù)據(jù)庫(kù)。

當(dāng)然人無(wú)完人,他在解決復(fù)雜關(guān)系存儲(chǔ)及查詢時(shí)有著諸多便利,但當(dāng)記錄大量結(jié)構(gòu)化的數(shù)據(jù)時(shí),就比不上傳統(tǒng)大數(shù)據(jù)存儲(chǔ)工具了,例如ES、HBase等。所以我們建議在實(shí)際生產(chǎn)環(huán)境中,混合使用傳統(tǒng)RDBMS和圖數(shù)據(jù)庫(kù)。

誰(shuí)能站在圖數(shù)據(jù)庫(kù)的C位

圖數(shù)據(jù)庫(kù)有如此多的優(yōu)勢(shì),我們團(tuán)隊(duì)也嘗試在實(shí)際項(xiàng)目中落地,調(diào)研了若干開(kāi)源圖數(shù)據(jù)庫(kù)引擎,下面是簡(jiǎn)單的橫向?qū)Ρ龋└魑粎⒖肌?/p>

通過(guò)以上對(duì)比可以得知:

  • Neo4j是最早起家做Graph DBMS,產(chǎn)品非常成熟,但是cluster和replication均需要企業(yè)收費(fèi)版支持,且是GPL V3授權(quán),假如將其用于商業(yè)目的,也需要繳納版權(quán)費(fèi)用。
  • JanusGraph是基于Titan圖數(shù)據(jù)庫(kù)延續(xù)下來(lái)的開(kāi)源項(xiàng)目,由Linux Foundation進(jìn)行維護(hù)。它并不是原生的圖數(shù)據(jù)庫(kù)引擎,而是底層使用ES、HBase等傳統(tǒng)結(jié)構(gòu)存儲(chǔ),并在上面封裝圖查詢API。
  • ArangoDB和OrientDB均支持Document、Graph及KV存儲(chǔ),分區(qū)擴(kuò)展及備份完善,具有ACID事務(wù)支持。

在技術(shù)選型時(shí),有幾個(gè)特性我們需要著重考慮:

  1. 授權(quán),是否商業(yè)付費(fèi);
  2. 底層存儲(chǔ),有一些圖數(shù)據(jù)庫(kù)底層仍使用傳統(tǒng)RDBMS存儲(chǔ),僅在上層封裝圖查詢API,所以在大數(shù)據(jù)量關(guān)系查詢時(shí),也許性能不如人意;
  3. 分布式支持,為了應(yīng)對(duì)大數(shù)據(jù)量,在生產(chǎn)環(huán)境應(yīng)能夠水平拆分及復(fù)制備份。

結(jié)合以上幾點(diǎn)考慮,我們團(tuán)隊(duì)目前選擇了OrientDB進(jìn)行下一步落地開(kāi)發(fā)。

他怎樣助力逆向處置團(tuán)隊(duì)

目前,逆向處置團(tuán)隊(duì)一些有想法的小伙伴們已經(jīng)搭上圖數(shù)據(jù)庫(kù)這趟列車(chē),推動(dòng)技術(shù)創(chuàng)新在實(shí)際業(yè)務(wù)中的應(yīng)用,進(jìn)行一些特定場(chǎng)景的數(shù)據(jù)開(kāi)發(fā)工作。如存儲(chǔ)客戶關(guān)系資料、咨詢事件、訂單、服務(wù)單等信息。在知識(shí)庫(kù)項(xiàng)目中也有嘗試,用于開(kāi)發(fā)知識(shí)圖譜特性,建立知識(shí)的深層次聯(lián)系。

對(duì)于互聯(lián)網(wǎng)公司來(lái)說(shuō),核心競(jìng)爭(zhēng)力源于技術(shù),同時(shí)對(duì)技術(shù)的不斷創(chuàng)新,或是對(duì)創(chuàng)新技術(shù)的應(yīng)用,亦是推動(dòng)公司和團(tuán)隊(duì)發(fā)展和進(jìn)步的重要手段之一。

上述內(nèi)容為我們團(tuán)隊(duì)在近期研發(fā)中做出的大膽探索并取得的一些心得,在此與大家分享。如果這篇文章也激發(fā)了你對(duì)圖數(shù)據(jù)庫(kù)的興趣,歡迎與我們一同學(xué)習(xí),共同探討。

責(zé)任編輯:武曉燕 來(lái)源: 京東技術(shù)
相關(guān)推薦

2024-06-06 16:50:15

2023-03-30 22:32:21

2023-10-16 13:26:00

RDBMS關(guān)系數(shù)據(jù)庫(kù)

2023-08-01 14:35:00

關(guān)系數(shù)據(jù)庫(kù)排列

2011-04-13 16:48:56

索引數(shù)據(jù)庫(kù)

2011-08-22 16:23:47

SQL Server數(shù)視圖復(fù)雜的數(shù)據(jù)查詢

2021-09-06 10:24:12

鴻蒙HarmonyOS應(yīng)用

2010-07-08 15:28:39

UML類(lèi)圖依賴關(guān)系

2022-09-16 11:33:24

數(shù)據(jù)庫(kù)關(guān)系

2021-09-03 15:41:00

鴻蒙HarmonyOS應(yīng)用

2010-07-08 14:58:29

UML類(lèi)圖關(guān)系

2011-10-11 17:07:12

數(shù)據(jù)庫(kù)Internet文件數(shù)據(jù)庫(kù)

2018-07-18 09:16:39

關(guān)系型非關(guān)系型數(shù)據(jù)庫(kù)

2024-08-22 14:39:34

2022-09-05 09:32:07

數(shù)據(jù)庫(kù)存儲(chǔ)

2010-07-09 10:36:14

UML類(lèi)圖關(guān)系

2023-09-27 07:15:46

2020-08-10 09:07:00

數(shù)據(jù)庫(kù)IT技術(shù)

2020-03-14 16:37:09

數(shù)據(jù)庫(kù)IT技術(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美中文字幕一区二区三区 | www.四虎.com | 国内自拍视频在线观看 | 国产欧美一区二区三区在线播放 | 成人在线免费视频观看 | 亚洲黄色网址视频 | 日韩av在线一区二区 | 日韩精品一区二区三区视频播放 | 精品一区二区久久久久久久网站 | 男女网站视频 | 男女国产网站 | 日本亚洲欧美 | 成人久久18免费网站麻豆 | 国产1区2区在线观看 | 国产精品久久久久久影视 | 日韩视频三区 | 午夜精品一区二区三区在线观看 | 一区二区三区四区av | 永久网站 | 亚洲淫视频 | 欧美福利视频 | 久久精品国产亚洲夜色av网站 | 国产精品久久久久久久一区探花 | 日本精品一区二区三区在线观看 | jvid精品资源在线观看 | 日操夜操| 国产精品亚洲一区二区三区在线 | 成人av一区二区亚洲精 | 免费视频一区二区 | 91精品久久久久久久99 | 美女操网站| 91视频在线看 | 久久精品视频在线播放 | 中文字幕在线观 | 精品欧美乱码久久久久久 | 亚洲精品一区二区在线观看 | 国产草草视频 | 亚洲一区二区不卡在线观看 | 成人黄在线观看 | 日韩精品一区中文字幕 | www.久久.com|