|
|
51CTO旗下网站
|
|
移动端

5个优秀的开源图数据库

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

作者:云智时代来源:今日头条|2019-11-26 09:11

在过去的几年中,图数据库变得越来越流行,因为它们为表述数据提供了极大的灵活性。大多数图数据库都是用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图数据库。

【编辑推荐】

  1. 华为GaussDB数据库推出双分布式架构,打造金融核心智能生产交易解决方案
  2. 记一次生产数据库数据文件进行分区转移
  3. 详解MySQL数据库default设置的三种不同表现
  4. 必收藏技能!为Java多线程应用程序优化数据存储库
  5. 分享一份Oracle数据库标准的SYSAUX表空间清理方案
【责任编辑:华轩 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

骨干网与数据中心建设案例

骨干网与数据中心建设案例

高级网工必会
共20章 | 捷哥CCIE

394人订阅学习

中间件安全防护攻略

中间件安全防护攻略

4类安全防护
共4章 | hack_man

142人订阅学习

CentOS 8 全新学习术

CentOS 8 全新学习术

CentOS 8 正式发布
共16章 | UbuntuServer

288人订阅学习

读 书 +更多

Visual C# 2005技术内幕

本书提供了.NET框架下C#编程的详尽指南。书中详细介绍了.NET框架中的核心概念、使用GDI+编写高级用户界面、多线程程序设计、使用ClickOnc...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微