JanusGraph(一)--簡(jiǎn)介

開(kāi)始學(xué)習(xí)JanusGraph鼻听,第一入手資源 官網(wǎng)
JanusGraph是分布式,開(kāi)源,可大規(guī)模擴(kuò)展的圖形數(shù)據(jù)庫(kù)蛉抓。

概述

1. 什么是圖

大學(xué)的《數(shù)據(jù)結(jié)構(gòu)》課程中介紹:它是一種用來(lái)描述現(xiàn)實(shí)世界中個(gè)體和個(gè)體之間網(wǎng)絡(luò)關(guān)系的數(shù)據(jù)結(jié)構(gòu)。是一個(gè)抽象的數(shù)據(jù)結(jié)構(gòu)概念剃诅。

在計(jì)算機(jī)科學(xué)中巷送,圖的組成結(jié)構(gòu)可以描述為:一個(gè)圖(G)就是一些頂點(diǎn)(V)的集合,這些頂點(diǎn)之間的關(guān)系通過(guò)一系列邊(E)連接起來(lái)矛辕。頂點(diǎn)用圈表示笑跛,關(guān)系邊使用線條表示,形成如下結(jié)構(gòu)拓?fù)鋱D:

圖結(jié)構(gòu)模型

2. 什么是圖形數(shù)據(jù)庫(kù)

圖數(shù)據(jù)庫(kù)就是用來(lái)存儲(chǔ)圖結(jié)構(gòu)的數(shù)據(jù)庫(kù)聊品。大多數(shù)人接觸最多飞蹂,并且容易理解的是關(guān)系型數(shù)據(jù)庫(kù)(RDB)。一般的關(guān)系型數(shù)據(jù)庫(kù)都可以存儲(chǔ)圖結(jié)構(gòu)翻屈,但對(duì)于復(fù)雜的關(guān)系模型陈哑,比如微信用戶關(guān)系網(wǎng)模型構(gòu)建分析,關(guān)系型數(shù)據(jù)庫(kù)就顯的力不從心。圖數(shù)據(jù)庫(kù)就是為了解決這類復(fù)雜的關(guān)系問(wèn)題而產(chǎn)生的惊窖。

圖庫(kù)也是屬于NoSQL一種刽宪。

NoSQL數(shù)據(jù)庫(kù)大致可以分為以下幾類:

  • 鍵值對(duì)(key-value)數(shù)據(jù)庫(kù):如Memcache,Redis
  • 列簇式數(shù)據(jù)庫(kù):如HBase
  • 文檔型數(shù)據(jù)庫(kù):如Mongodb
  • 圖數(shù)據(jù)庫(kù):如Neo4j界酒,JanusGraph

3. 常見(jiàn)圖庫(kù)對(duì)比

目前主流數(shù)據(jù)庫(kù)分為兩個(gè)派系:Neo4j派 和 Tinkerpop派

有興趣可以看下這里 https://blog.csdn.net/wjandy0211/article/details/102707202

4. JanusGraph 與 Tinkerpop 與 Gremlin

Tinkerpop 是Apache基金會(huì)下的一個(gè)開(kāi)源的圖數(shù)據(jù)庫(kù)與圖計(jì)算框架(OLTP與OLAP)圣拄。

Gremlin 是Tinkerpop的一個(gè)組件,它是一門(mén)路徑導(dǎo)向語(yǔ)言毁欣,用于圖操作和圖遍歷(也稱查詢語(yǔ)言)庇谆。Gremlin Console 和 Gremlin Server 分別提供了控制臺(tái)和遠(yuǎn)程執(zhí)行Gremlin查詢語(yǔ)言的方式。Gremlin Server 在 JanusGraph 中被成為 JanusGraph Server署辉。

JanusGraph是基于Tinkerpop這個(gè)框架來(lái)開(kāi)發(fā)的族铆,使用的查詢語(yǔ)言也是Gremlin。


JanusGraph

1. 概述

JanusGraph是一個(gè)圖形數(shù)據(jù)庫(kù)引擎哭尝。其本身專注于緊湊圖序列化哥攘、豐富圖數(shù)據(jù)建模、高效的查詢執(zhí)行材鹦。另外逝淹,JanusGraph利用Hadoop進(jìn)行圖分析和批處理圖處理。JanusGraph為數(shù)據(jù)持久性桶唐、數(shù)據(jù)索引栅葡、客戶端訪問(wèn)實(shí)現(xiàn)了強(qiáng)大的模塊化接口。JanusGraph的模塊化體系結(jié)構(gòu)使其可以與多種存儲(chǔ)尤泽、索引欣簇、客戶端技術(shù)進(jìn)行互操作。它還簡(jiǎn)化了擴(kuò)展JanusGraph以支持新的過(guò)程坯约。

2. 交互

應(yīng)用程序可以通過(guò)兩種方式與JanusGraph交互:

  • 嵌入式: 將JanusGraph嵌入到自己的圖Gremlin查詢應(yīng)用中熊咽,與自己的應(yīng)用公用同一JVM。
    查詢執(zhí)行時(shí)闹丐,JanusGraph的緩存和事務(wù)處理都在與應(yīng)用程序相同的JVM中進(jìn)行横殴,當(dāng)數(shù)據(jù)模型大時(shí),很容易OOM卿拴,并且耦合性太高衫仑,生產(chǎn)上一般不這么搞。
  • 服務(wù)式: JanusGraph單獨(dú)運(yùn)行在一個(gè)或一組服務(wù)器上堕花,對(duì)外提供服務(wù)文狱。(推薦的模式)
    客戶端通過(guò)向服務(wù)器提交Gremlin查詢,與遠(yuǎn)程JanusGraph實(shí)例進(jìn)行交互缘挽。

3. 架構(gòu)

JanusGraph架構(gòu)模型

4. JanusGraph特點(diǎn)

1. 可擴(kuò)展

  • 彈性和線性可擴(kuò)展性如贷,可用于不斷增長(zhǎng)的數(shù)據(jù)和用戶群
  • 數(shù)據(jù)分發(fā)和復(fù)制以提高性能和容錯(cuò)能力
  • 多數(shù)據(jù)中心高可用性和熱備份

2. 開(kāi)源

所有功能 都是完全免費(fèi)的陷虎。無(wú)需購(gòu)買(mǎi)商業(yè)許可證到踏。JanusGraph在Apache 2許可下完全開(kāi)放源代碼杠袱。

3. 事務(wù)

JanusGraph是一個(gè)事務(wù)數(shù)據(jù)庫(kù),可以支持?jǐn)?shù)千個(gè)并發(fā)用戶實(shí)時(shí)執(zhí)行復(fù)雜的圖遍歷窝稿。支持ACID和最終的一致性楣富。

4. 數(shù)據(jù)存儲(chǔ)

圖數(shù)據(jù)可以存儲(chǔ)在:

生產(chǎn)中使用最多的是 Cassandra 和 HBase,根據(jù)業(yè)務(wù)特性選型伴榔。

5. 檢索

全文搜索等高級(jí)搜索功能可以通過(guò)以下方式支持:

6. 分析

除了在線事務(wù)處理(OLTP)之外纹蝴,JanusGraph的Apache Spark集成還支持全局圖分析(OLAP)。

7. TinkerPop

與 Apache TinkerPop 圖棧的本地集成:

8. 適配器

JanusGraph有不同的第三方存儲(chǔ)適配器:

9. 可視化

JanusGraph支持各種可視化工具踪少,例如Arcade Analytics塘安、Cytoscape、Apache TinkerPop的Gephi插件援奢、Graphexp兼犯、Cambridge Intelligence的Key Lines、Linkurious集漾、Tom Sawyer切黔。


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市具篇,隨后出現(xiàn)的幾起案子纬霞,更是在濱河造成了極大的恐慌,老刑警劉巖驱显,帶你破解...
    沈念sama閱讀 223,126評(píng)論 6 520
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件诗芜,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡埃疫,警方通過(guò)查閱死者的電腦和手機(jī)伏恐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,421評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)熔恢,“玉大人脐湾,你說(shuō)我怎么就攤上這事⌒鹛剩” “怎么了秤掌?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,941評(píng)論 0 366
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)鹰霍。 經(jīng)常有香客問(wèn)我闻鉴,道長(zhǎng),這世上最難降的妖魔是什么茂洒? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,294評(píng)論 1 300
  • 正文 為了忘掉前任孟岛,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘渠羞。我一直安慰自己斤贰,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,295評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布次询。 她就那樣靜靜地躺著荧恍,像睡著了一般。 火紅的嫁衣襯著肌膚如雪屯吊。 梳的紋絲不亂的頭發(fā)上送巡,一...
    開(kāi)封第一講書(shū)人閱讀 52,874評(píng)論 1 314
  • 那天,我揣著相機(jī)與錄音盒卸,去河邊找鬼骗爆。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蔽介,可吹牛的內(nèi)容都是我干的摘投。 我是一名探鬼主播,決...
    沈念sama閱讀 41,285評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼屉佳,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼谷朝!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起武花,我...
    開(kāi)封第一講書(shū)人閱讀 40,249評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤圆凰,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后体箕,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體专钉,經(jīng)...
    沈念sama閱讀 46,760評(píng)論 1 321
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,840評(píng)論 3 343
  • 正文 我和宋清朗相戀三年累铅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了跃须。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,973評(píng)論 1 354
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡娃兽,死狀恐怖菇民,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情投储,我是刑警寧澤第练,帶...
    沈念sama閱讀 36,631評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站玛荞,受9級(jí)特大地震影響娇掏,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜勋眯,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,315評(píng)論 3 336
  • 文/蒙蒙 一婴梧、第九天 我趴在偏房一處隱蔽的房頂上張望下梢。 院中可真熱鬧,春花似錦塞蹭、人聲如沸孽江。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,797評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)竟坛。三九已至,卻和暖如春钧舌,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背涎跨。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,926評(píng)論 1 275
  • 我被黑心中介騙來(lái)泰國(guó)打工洼冻, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人隅很。 一個(gè)月前我還...
    沈念sama閱讀 49,431評(píng)論 3 379
  • 正文 我出身青樓撞牢,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親叔营。 傳聞我的和親對(duì)象是個(gè)殘疾皇子屋彪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,982評(píng)論 2 361