5个最佳的开源图数据库

5个最佳的开源图数据库
2019年11月25日 17:46 云智小号

在过去的几年中,图数据库变得越来越流行,因为它们为表述数据提供了极大的灵活性。大多数图数据库都是用Java编写的,但是在Python,.NET,PHP和C ++中有一系列好的解决方案。

1.Neo4j社区版

Neo4j是最流行的高度可扩展的本地图数据库(用Java编写)之一。Neo4j的Graph平台经过优化,可以存储,映射,分析和遍历连接的数据网络,以发现不可见的上下文和隐藏的关系。

通过直观地映射数据点及其之间的连接,Neo4j支持智能实时应用程序,包括:人工智能,机器学习,物联网,实时推荐;主数据管理;欺诈识别;身份和访问管理。

Neo4j带有2个版本:社区版和企业版。Community Edition是学习Neo4j和不需要大量扩展或专业服务与支持的小型项目的理想选择。企业版具有与社区版相同的功能,具有企业级可用性,管理以及向上和向外扩展功能。

Neo4j社区版的主要功能和优势:

  • 标记属性图模型

  • 本机图形处理和存储

  • 密码图查询语言

  • 通过本地标签索引快速写入

  • 通过复合索引快速读取

  • ACID交易

  • 高性能本机API

  • Java,Python,C#和JavaScript,PHP,NodeJS等的语言驱动程序。

  • 非常快。

2.HyperGraphDB

HyperGraphDB是一种通用的开源数据存储机制。顾名思义,它是用于存储超图的数据库。HyperGraphDB主要设计用于知识管理,AI和语义Web项目,但它也用作各种规模Java项目的嵌入式面向对象的数据库。尽管HyperGraphDB属于图数据库的通用系列,但其许多设计都提供了以任意复杂度来管理结构丰富的信息的方法。

主要功能和优点:

  • 面向图的存储。

  • 强大的数据建模和知识表示。

  • 图节点之间的N元高阶关系。

  • 图遍历。

  • 关系型查询。

  • 可自定义的索引编制和存储管理。

  • 可扩展的动态数据库模式。

  • 开箱即用的Java OO数据库。

  • 非阻塞并发写入和读取!

  • 用于数据分发的P2P框架。

3.Titan分布式图数据库

Titan是最具扩展性的开源图数据库之一,已优化用于存储和查询包含数千亿个顶点和边的图形。可以在Hadoop中进行此操作,对大型数据集非常有用。Titan是一个事务数据库,支持数千个并发用户实时执行复杂图形。Titan具有弹性和线性的可扩展性,可以满足不断增长的数据和用户群的需求。实现语言是Java。

主要功能和优点:

  • 多数据中心高可用性。

  • 支持ACID和最终的一致性。

  • 支持各种存储后端:Apache Cassandra,Apache HBase,Oracle BerkeleyDB。

  • 通过与大数据平台(Apache Spark,Apache Giraph和Apache Hadoop)集成,支持全局图数据分析,报告和ETL。

  • 通过以下方式支持地理,数值范围和全文本搜索:ElasticSearch,Solr,Lucene。

  • 与TinkerPop图栈的本机集成:Gremlin图查询语言,Gremlin图服务器,Gremlin应用程序。

4.ArangoDB

由于其C ++内核,ArangoDB是一个非常快速的解决方案。可以将ArangoDB用作键/值,文档或图的专用数据库,并在一个查询中混合使用这些数据模型。ArangoDB设计为本地多模型数据库,可让你以非常灵活的方式对数据进行建模并支持大量用例。可以扩展ArangoDB以更好地满足你的需求。可以通过Foxx(一个由Google V8支持的数据库微服务JavaScript框架)添加逻辑,从而在C ++级别上完全访问ArangoDB的功能。

主要功能和优点:

  • 模式匹配

  • 最短路径

  • 分布式图

  • 嵌套属性

  • 全面遍历

  • 交易次数

  • 自组织集群状态管理。

  • 快速集群启动等。

5.Apache TinkerPop

Apache TinkerPop还是一个受欢迎的开源图数据库。Apache TinkerPop是与供应商无关的图计算框架,为批处理分析图形处理器(OLAP)和实时事务性图形数据库(OLTP)的分发。当数据系统启用TinkerPop时,可以将域建模为图形,并使用Gremlin图形遍历语言对其进行分析。此外,所有启用TinkerPop的系统都相互集成。

主要功能和优点:

  • 图形遍历语言– Gremlin设计为可跨语言工作。

  • 将关系数据库和图数据库捆绑在一起。

  • 直到使用Tinkerpop 3为止,Python和其他语言的工作人员都可以选择。

  • 可以用于分布式环境中的小型图或大型图。

  • OLTP和OLAP遍历

  • 命令式和声明式遍历。

这里还推荐一些其他好的解决方案:

ThingSpan——可扩展的图分析平台。它由Objectivity/DB支持,通过与Apache Spark和Hadoop分布式文件系统本地集成来利用开源堆栈。

Cayley——其灵感来自Freebase和Google的Knowledge Graph背后的图数据库。

OpenLink Virtuoso——用于数据访问,虚拟化,集成和多模型关系数据库管理的现代企业级解决方案。

Apache Giraph——为实现高可伸缩性而构建的迭代图处理系统。

VelocityGraph——可分发的开源C#.NET混合NoSQL图数据库和对象数据库。高性能数据持久性。

InfoGrid——具有许多其他软件组件的开源Web图数据库。

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部