janusgraph被设计用来支持那些很大的图,他们需要的存储和计算性能超过单机所能提供的能力。
面向实时事务和分析查询的大规模图数据计算是janusgraph最主要的优点。这一章节将讨论janusgraph的多种特有优势,和他下面,支持的持久化解决方案。
1.1 通用优点
- 支持非常大的图。图的规模扩大由集群中机器数据决定。
- 支持非常多并发事务和图处理操作。随着集群中机器数量增加会将事务处理能力扩容,并能在ms级响应巨大图复杂的事务请求。
- 支持通过hadoop框架的全局图分析和图批处理。
- 支持很大图里对点和边的地理、数字范围、全文检索等查询。
- 原生支持流行的准确图数据模型,Apache TinkerPop发布的。
- 原生支持图事务语言Gremlin。
- 易于与Gremlin Server整合,用于编程语言连接。
- 许多图的配置提供优化性能的抓手。
- 点中央索引,提供顶点级查询来避免知名问题:super node problem
- 提供优化的硬盘描述,来允许有效利用存储空间和高效访问存储数据。
- 开源协议:Apache 2 license
1.2 with cassandra
......
1.3 with hbase
- 与hadoop生态紧密整合;
- 原生支持强一致性;
- 线性扩容能力,借助增加更多机器;
- 读写原子性;
- 具有方便的hadoop mapreduce与hbase table处理的基础类;
- 支持监测性能通过JMX;
- 开源协议:Apache 2
1.4 CAP理论
- with Berkeley DB是非分布式的,只用于测试和验证目的;
- with hbase, 保证一致性牺牲一定可用性;
- with cassandra,保证可用性牺牲一定数据完整性;