图形数据库能够快速存储和分析高度相关的数据,这使得它在过去几年中迅速流行起来。社交网络、推荐引擎和欺诈检测等应用都从图形数据库受益。图形数据库不同于传统关系数据库,后者能够描述元素之间的复杂关系。
什么是图形数据库?
图形数据库是 NoSQL 数据库的一个子集,它使用图形结构存储和显示数据。它们包括代表事物的“节点”和显示其连接的“边”。使用基于图形的方法,可以高效灵活地执行高度连接数据的查询,从而促进发现模式和见解。
优点
使用图形数据库而不是关系数据库有三个主要优点和好处:
-
高灵活性:图形数据库的模式可以根据不同的应用程序进行更改,而不会影响当前的功能,因此非常灵活。
-
高性能:图形数据库即使在处理复杂事务时也能保持卓越的性能。深度分析的工作方式类似。
-
由于图形查询的简短以及关系遍历的速度很快,因此图形数据库比关系数据库更高效。
每个人都可以查看开源图形数据库的源代码并做出贡献,其代码大多发布在 GitHub 上。企业可以从以下开源图形数据库中受益:
Neo4j
Neo4j 是一个将图模型整合到存储级别的原生图数据库,是最知名、运行时间最长的开源图数据库之一,在 GitHub 上拥有超过 12,000 颗星。它提供 ACID 事务、集群支持和运行时故障转移。
下载地址:
http://neo4j.com/download/
WhiteDB
WhiteDB 是一个基于 C 的 NoSQL 数据库包,完全在主内存中运行,非常轻量。没有可用的服务器进程。不需要套接字,因为 WhiteDB 和应用程序直接从共享内存读取和写入数据。
下载地址:
http://whitedb.org/
我在访问官网的时候,发现ssl证书到期了,作者可能没有注意,官网指向了不可明状网站。如果你也和我一样,请使用GitHhub:
https://github.com/priitj/whitedb
ArangoDB
ArangoDB 是一款免费的开源图形数据库,优先考虑速度和可扩展性。超过 13,000 人在 GitHub 上给它打了星。它将集成搜索引擎、原生图形、JSON 兼容性和各种数据访问模式与单一查询语言相结合。
下载地址:
Stardog
Stardog 是一个知识图谱平台,融合了图谱数据库和语义推理的特点。它拥有创建和查询知识图谱的复杂工具,并支持 SPARQL。
下载地址:
https://www.startdog.com
Dgraph
Dgraph 是一个原生图形数据库,在 GitHub 上拥有超过 19,000 颗星,支持原生 GraphQL。这个开源数据库以其速度、可扩展性、分布式特性和高可用性而闻名。Dgraph 通过图形导航即时解决查询,旨在处理大数据量。
下载地址:
https://dgraph.io/
Memgraph
Memgraph 是一个开源的内存图形数据库,在 GitHub 上有超过 2000 颗星。它既可以在本地使用,也可以在云中使用。Memgraph Platform 是企业的本地选项,而 Memgraph Cloud 是一项完全托管的服务,无需管理员。
下载地址:
https://memgraph.com/
Orly
Orly 是一种非关系型数据库,旨在快速高效地处理大量用户负载。由于其速度快、并发性高,我们不再需要 memcache;它提供了单一数据路径。
下载地址:
https://github.com/orlyatomics/orly
Graph Engine
Graph Engine(GE) 是一种在内存中运行的分布式图形处理引擎。它由通用计算引擎和强类型 RAM 存储支持。在计算机网络上,分布式 RAM 存储提供了一个高性能的键值存储,可以从世界任何地方访问。使用 RAM 存储,GE 可以快速、任意地访问大量分散的数据集。
下载地址:
http://www.graphengine.io/
Aerospike Graph
Aerospike Graph 是一个基于 Aerospike Database 构建的分布式图形数据库,它使用户能够存储和查询大量数据,而不会影响性能。这个开源数据库采用图形计算平台 Apache TinkerPop 来执行在线交易和分析图形查询。
下载地址:
https://aerospike.com/docs/graph
OrientDB
OrientDB 在 GitHub 上拥有超过 4,500 颗星,是一款可靠的图形数据库,速度快、适应性强且可扩展。这款多模型数据库支持图形、文档、全文和地理模型,无需昂贵的运行时 JOIN。此外,该数据库还支持 ACID 和 SQL 事务。
下载地址:
https://orientdb.org/
GraphDB Lite
一个支持台式电脑的免费 RDF 三元组存储是 GraphDB Lite,它可以容纳多达 1 亿个三元组。JAVA 平台可以轻松部署此 GraphDB 版本。SPARQL 1.1 查询不依赖于存储在文件中的索引,而是完全在内存中执行。
其推理操作与 GraphDB Lite 兼容。
Cayley
Cayley 是一款受 Google 知识图谱启发的开源图形数据库,在 GitHub 上已获得超过 14,000 颗星。这款基于 Go 的数据库支持 RDF,可以在任何现有的 SQL 或 NoSQL 数据库上使用。
用户可以向 Cayley 添加新的查询语言或自定义逻辑,并且该数据库可以连接到任何编程语言。这使得 Cayley 高度模块化。它内置了多种查询语言,包括 GraphQL 和 MQL。
下载地址:
http://ontotext.com/products/ontotext-graphdb/graphdb-lite/
MapGraph
MapGraph API 简化了创建基于 GPU 的图形分析的过程,并且性能卓越。该 API 的基础是 GraphLab 中采用的 Gather-Apply-Scatter (GAS) 模型。MapGraph 中的 CUDA 内核采用各种先进技术,包括顶点度相关动态并行粒度和边界压缩,以执行高性能计算并有效利用 GPU 的高内存带宽。
下载地址:
http://mapgraph.io/
Weaver
分布式图形存储 Weaver 具有水平可扩展性、出色的性能和良好的一致性。通过简单的 Python API,Weaver 允许用户执行事务性图形修改和搜索。
下载地址:
http://weaver.systems/
Virtuoso
Virtuoso 是由 OpenLink 开发的开源图形数据库,在 GitHub 上拥有超过 800 颗星。数据虚拟化平台和支持多种模型的 DBMS 是其功能的一部分。此数据库具有高可用性、快速性和可扩展性;它不依赖于复杂的查询或大量使用来实现这一点。
下载地址:
https://virtuoso.openlinksw.com/
Filament
Filament 是一个基于导航查询样式的图形持久性框架,附带工具包。存储模型可以自定义,但默认情况下,它将图形对象及其属性存储在基本关系数据库中。
下载地址:
http://sourceforge.net/projects/filament/
JanusGraph
Linux 基金会是 JanusGraph 项目的幕后推手,该项目在 GitHub 上拥有超过 5,000 颗星。凭借其多机集群和高度可扩展的图形数据库,它可以管理具有数十亿个节点和边的海量图形,处理图形查询并执行复杂的遍历。
下载地址:
https://janusgraph.org/
Titan
Titan 是一个图形事务数据库,可以扩展以存储和查询具有数千亿条边和顶点的分布式图形中的数据。Titan 可以实时处理数百名用户运行的复杂图形遍历。
下载地址:
http://thinkaurelius.github.io/titan/
HyperGraphDB
有向超图是 HyperGraphDB 的基础,HyperGraphDB 是一个可以扩展的开源数据库。它具有强大的数据建模、知识表示功能和可自定义的索引。它可以并发读取和写入数据而不会阻塞,并且完全是事务性和多线程的。这个数据库在 GitHub 上有超过 190 个星。
下载地址:
https://hypergraphdb.org/
sones GraphDB
使用面向对象的图形数据库 Sones GraphDB 可以轻松存储大量分散、高度连接的半结构化数据。