Neo4J是如何干掉OrientDB、Titan的

  • 2020 年 2 月 18 日
  • 笔记

Neo4J是如何干掉OrientDB、Titan的

TitanDB 数据库

我们先研究了 TitanDB,它各项强大的功能和极佳的可扩展性一开始让我们非常振奋。可惜的是,TitanDB 的启动和维护都非常复杂,必须得从 Cassandra 或 HBase 后台运行。

我们关心的另一个功能是最终一致存储,它并不符合 ACID 原理。这表示,如果我们要长时间运行大型图形数据库,最后可能会出现不一致现象。

TitanDB 确实提供了一个基本可长期运行的流程,能够始终如一地穿行整个图形,以期探测和修复不一致问题。除了这些不一致之外,TitanDB 还可以作为不基于图形的本地存储之上的层。

OrientDB 数据库

接下来我们又了解了 OrientDB。OrientDB 启动起来似乎简单得多,还具备大量针对文档的功能。但从社区的评论来看,性能和可扩展性是个问题。另外,OrientDB 把自己宣传成多模式数据库 ——图形和 SQL。这种宣传缺乏对纯图形操作的针对性,让我很是忧心,我们不仅想要做图形,还要做好图形。

发现 Neo4j

然后我们发现了 Neo4j。Neo4j 可高度扩展,对节点、关系或索引的数量没有限制。同时 Neo4j 入门也相当简单,这对我们是很大的诱惑;在使用第三个数据库时,必须得迅速投入运行。

性能表现极佳,扩增也非常广泛,并且只专注于图形用例。Titan 确实提供映射(作为本地节点类型)支持,但我们知道,即使没有这一支持我们也可以继续下去。

总的来说,我们之所以选择 Neo4j,有以下原因:

我们使用 Neo4j 企业版已有大约 16 个月,体验一直非常美好。Neo4j 易于使用,设置和维护也很简单,实现甚至超出了我们的预期。它让我们超越了我们的概念点,非常非常迅速地投入运行和构建新事物。

在本文的第二部分,将详细介绍使用 Neo4j 之后,作者学习到的经验教训,敬请期待。

本文系 OneAPM 工程师整理呈现。OneAPM 能为您提供端到端的应用性能解决方案,我们支持所有常见的框架及应用服务器,助您快速发现系统瓶颈,定位异常根本原因。分钟级部署,即刻体验,性能监控从来没有如此简单。想阅读更多技术文章,请访问 OneAPM 官方技术博客

本文转自 OneAPM 官方博客

原文地址:https://dzone.com/articles/from-good-to-graph-choosing-the-right-database