-
什麼是JanusGraph?
JanusGraph旨在支持大型圖形的處理,需要存儲和計算能力超出了單個機器。擴展圖遍歷和分析實時查詢的數據處理是JanusGraph基本利益。 -
JanusGraph的安裝及使用
a. 下載地址:https://github.com/JanusGraph/janusgraph/releases/
b. unzip janusgraph-0.3.1-hadoop2.zip
Archive: janusgraph-0.3.1-hadoop2.zip
creating: janusgraph-0.3.1-hadoop2/
c. 到解壓後的包下的bin下,運行 ./gremlin.sh 即可進入到控制檯
d. 加載圖(初始化),graph = JanusGraphFactory.open('conf/janusgraph-berkeleyje-es.properties')
,該配置文件可自行修改
e.GraphOfTheGodsFactory.load(graph)
,執行此命令,可加載gods圖
f.g = graph.traversal()
,獲取到一個類似全圖的對象
g. 可操作初始化圖:saturn = g.V().has('name', 'saturn').next()
結果:==>v[256]g.V(saturn).valueMap() ==>[name:[saturn], age:[10000]]
-
JanusGraph的存儲方式和結構
每個JanusGraph圖有一個模式組成的邊標籤、屬性鍵,頂點標籤使用。
數據類型:
屬性管理語句:
mgmt = graph.openManagement()
person = mgmt.makeVertexLabel('person').make()
name = mgmt.makePropertyKey('name').dataType(String.class).cardinality(Cardinality.SET).make()
birthDate = mgmt.makePropertyKey('birthDate').dataType(Long.class).cardinality(Cardinality.SINGLE).make()
mgmt.addProperties(person, name, birthDate)
mgmt.commit()
-
JAVA如何連接JanusGraph
-
JAVA如何操作JanusGraph
-
JanusGraph的優點和缺點
基本優點:
a. 支持非常大的圖。JanusGraph圖規模與集羣中機器的數量。
b. 支持很多併發事務處理和操作圖。JanusGraph事務能力的尺度與集羣中機器的數量和答案在巨大複雜的遍歷查詢圖,以毫秒爲單位。
c. 支持全球圖形分析和批量圖像處理通過Hadoop框架。
d.支持地理、數值範圍和全文搜索非常大的圖的頂點和邊。
e.本機支持流行的屬性圖數據模型由Apache TinkerPop暴露。
f.本機支持圖遍歷語言小鬼。
g.容易集成與小鬼服務器編程語言無關的連通性。
h.衆多graph-level配置提供旋鈕調優性能。
i.Vertex-centric指數提供vertex-level查詢緩解問題臭名昭著的超級節點的問題。
j.提供了一個優化,以便有效地使用磁盤表示存儲和訪問速度。
k.開放源碼Apache 2許可下的自由。
配合Apache Cassandra 的優點
a. 持續可用,沒有單點故障。
b. 沒有讀/寫瓶頸沒有主/從架構圖。
c. 彈性可擴展性允許介紹和刪除機器。
d.緩存層確保連續訪問的數據在內存中是可用的。
e. 增加緩存的大小通過添加更多的機器集羣。
f.與Apache Hadoop的集成。
g.開放源碼Apache 2許可下的自由。
配合HBase JanusGraph的優點
a. 與Apache Hadoop的緊密集成的生態系統。
b.本機支持強大的一致性。
c. 線性可伸縮性和增加更多的機器。
d. 嚴格一致的讀和寫。
e. 方便的基類支持Hadoop MapReduce工作HBase表。
f.通過JMX支持出口指標。
g. 開放源碼Apache 2許可下的自由。
缺點:
a. 新圖形數據庫
b. 可視化工具缺乏
注意:JanusGraph對JDK要求在8.0以上。