janusgraph被設(shè)計用來支持那些很大的圖,他們需要的存儲和計算性能超過單機所能提供的能力。
面向?qū)崟r事務(wù)和分析查詢的大規(guī)模圖數(shù)據(jù)計算是janusgraph最主要的優(yōu)點。這一章節(jié)將討論janusgraph的多種特有優(yōu)勢,和他下面,支持的持久化解決方案。
1.1 通用優(yōu)點
- 支持非常大的圖。圖的規(guī)模擴大由集群中機器數(shù)據(jù)決定。
- 支持非常多并發(fā)事務(wù)和圖處理操作。隨著集群中機器數(shù)量增加會將事務(wù)處理能力擴容,并能在ms級響應(yīng)巨大圖復(fù)雜的事務(wù)請求。
- 支持通過hadoop框架的全局圖分析和圖批處理。
- 支持很大圖里對點和邊的地理、數(shù)字范圍、全文檢索等查詢。
- 原生支持流行的準確圖數(shù)據(jù)模型,Apache TinkerPop發(fā)布的。
- 原生支持圖事務(wù)語言Gremlin。
- 易于與Gremlin Server整合,用于編程語言連接。
- 許多圖的配置提供優(yōu)化性能的抓手。
- 點中央索引,提供頂點級查詢來避免知名問題:super node problem
- 提供優(yōu)化的硬盤描述,來允許有效利用存儲空間和高效訪問存儲數(shù)據(jù)。
- 開源協(xié)議:Apache 2 license
1.2 with cassandra
......
1.3 with hbase
- 與hadoop生態(tài)緊密整合;
- 原生支持強一致性;
- 線性擴容能力,借助增加更多機器;
- 讀寫原子性;
- 具有方便的hadoop mapreduce與hbase table處理的基礎(chǔ)類;
- 支持監(jiān)測性能通過JMX;
- 開源協(xié)議:Apache 2
1.4 CAP理論
- with Berkeley DB是非分布式的,只用于測試和驗證目的;
- with hbase, 保證一致性犧牲一定可用性;
- with cassandra,保證可用性犧牲一定數(shù)據(jù)完整性;