分布式图数据库JanusGraph-简介

简介: JanusGraph设计的目的是处理大图,单机无论是在存储和计算能力上都无法满足大图处理。大规模图实时计算和分析是JanusGraph最基本的优势。本节将讨论更多JanusGraph特有的优势以及它底层支持的存储方案。

JanusGraph设计的目的是处理大图,单机无论是在存储和计算能力上都无法满足大图处理。大规模图实时计算和分析是JanusGraph最基本的优势。本节将讨论更多JanusGraph特有的优势以及它底层支持的存储方案。


转自:JanusGraph中文翻译文档

1.1. JanusGraph 基本优势

  • 支持非常大的图。JanusGraph通过添加机器横向扩展集群。
  • 支持很大的并发事务处理和图操作处理。通过添加机器横向扩展JanusGraph的事务处理能力,可以在毫秒级别相应大图的复杂查询。
  • 支持使用Hadoop框架进行全局图分析和批量图处理。
  • 支持在很大的图上对顶点和边进行地理位置、数值范围、全文搜索。
  • 原生支持Apache TinkerPop 描述的当前流行的属性图数据模型。
  • 原生支持图遍历语言Gremlin。
  • 通过使用非编程的方式连接很容易与Gremlin Server集成
  • 提供了很多图级别配置选项用于调节性能。
  • 以顶点为中心的索引提供顶点级查询,以缓解臭名昭着的超级节点问题。
  • 提供优化的磁盘表示,从而允许有效地使用存储和访问速度。
  • 基于 Apache 2 许可协议开放源码。

1.2. JanusGraph 使用 Apache Cassandra的优势

cassandra-small

  • 连续可用,没有单点故障。
  • 由于没有主/从架构,因此对图的读/写没有瓶颈。
  • 弹性可扩展性允许加入和移除机器。
  • 缓存层确保内存中多次连续访问的数据可用。
  • 通过添加集群的机器来增加缓存的大小。
  • 可以与 Apache Hadoop集成。
  • 基于 Apache 2 许可协议开放源码。

1.3. JanusGraph 使用 HBase的优势

hbase_logo

  • 与Apache Hadoop生态系统紧密集成。
  • 原生支持强一致性。
  • 通过添加更多机器进行线性扩展。
  • 严格的一致性读写操作。
  • 方便的基类用于支持Hadoop MapReduce作业操作HBase表。
  • 支持使用JMX导出监控指标。
  • 基于 Apache 2 许可协议开放源码。

1.4. JanusGraph 和 CAP 理论

尽管你付出了最大的努力,你的系统仍会遇到很多的错误,以至于必须在减少输出(如:停止响应请求)和降低收获(如:响应不完整的答案)之间做出选择。 此决定应基于业务要求。

                                                                                                         -- Coda Hale

使用数据库时,应充分考虑CAP定理(C =一致性,A =可用性,P =可分区性)。 JanusGraph发布包中支持3个后端:Apache Cassandra,Apache HBase和Oracle Berkeley DB Java 企业版。 请注意,BerkeleyDB JE是一个非分布式数据库,通常仅与JanusGraph一起用于测试和探索。

HBase以输出为代价优先考虑一致性,即完成请求的概率。 Cassandra以收获为代价优先考虑可用性,即响应的完整性(数据可用性/完整数据)。




相关实践学习
阿里云图数据库GDB入门与应用
图数据库(Graph Database,简称GDB)是一种支持Property Graph图模型、用于处理高度连接数据查询与存储的实时、可靠的在线数据库服务。它支持Apache TinkerPop Gremlin查询语言,可以帮您快速构建基于高度连接的数据集的应用程序。GDB非常适合社交网络、欺诈检测、推荐引擎、实时图谱、网络/IT运营这类高度互连数据集的场景。 GDB由阿里云自主研发,具备如下优势: 标准图查询语言:支持属性图,高度兼容Gremlin图查询语言。 高度优化的自研引擎:高度优化的自研图计算层和存储层,云盘多副本保障数据超高可靠,支持ACID事务。 服务高可用:支持高可用实例,节点故障迅速转移,保障业务连续性。 易运维:提供备份恢复、自动升级、监控告警、故障切换等丰富的运维功能,大幅降低运维成本。 产品主页:https://www.aliyun.com/product/gdb
目录
相关文章
|
4月前
|
SQL 关系型数据库 MySQL
乐观锁在分布式数据库中如何与事务隔离级别结合使用
乐观锁在分布式数据库中如何与事务隔离级别结合使用
|
2月前
|
SQL 关系型数据库 MySQL
乐观锁在分布式数据库中如何与事务隔离级别结合使用
乐观锁在分布式数据库中如何与事务隔离级别结合使用
|
4月前
|
存储 SQL 分布式数据库
OceanBase 入门:分布式数据库的基础概念
【8月更文第31天】在当今的大数据时代,随着业务规模的不断扩大,传统的单机数据库已经难以满足高并发、大数据量的应用需求。分布式数据库应运而生,成为解决这一问题的有效方案之一。本文将介绍一款由阿里巴巴集团自主研发的分布式数据库——OceanBase,并通过一些基础概念和实际代码示例来帮助读者理解其工作原理。
351 0
|
29天前
|
关系型数据库 分布式数据库 数据库
PostgreSQL+Citus分布式数据库
PostgreSQL+Citus分布式数据库
60 15
|
2月前
|
SQL 关系型数据库 分布式数据库
Citus 简介,将 Postgres 转换为分布式数据库
【10月更文挑战第4天】Citus 简介,将 Postgres 转换为分布式数据库
95 4
|
2月前
|
存储 缓存 NoSQL
大数据-38 Redis 高并发下的分布式缓存 Redis简介 缓存场景 读写模式 旁路模式 穿透模式 缓存模式 基本概念等
大数据-38 Redis 高并发下的分布式缓存 Redis简介 缓存场景 读写模式 旁路模式 穿透模式 缓存模式 基本概念等
69 4
|
2月前
|
存储 关系型数据库 数据库
轻量级数据库的利器:Python 及其内置 SQLite 简介
轻量级数据库的利器:Python 及其内置 SQLite 简介
64 3
|
4月前
|
Oracle 关系型数据库 MySQL
OceanBase数据库简介
【8月更文挑战第9天】OceanBase数据库简介
404 60
|
2月前
|
SQL NoSQL MongoDB
一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程
一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程
49 0
|
4月前
|
SQL 存储 NoSQL
Redis6入门到实战------ 一、NoSQL数据库简介
这篇文章是关于NoSQL数据库的简介,讨论了技术发展、NoSQL数据库的概念、适用场景、不适用场景,以及常见的非关系型数据库。文章还提到了Web1.0到Web2.0时代的技术演进,以及解决CPU、内存和IO压力的方法,并对比了行式存储和列式存储数据库的特点。
Redis6入门到实战------ 一、NoSQL数据库简介