Janus Graph 后端 cassandra 与 Bigtable

Janus Graph backend cassandra vs Bigtable

我计划使用 Janusgraph 来构建我们团队处理的不同用途的图形,我看到 janus 图形可以选择使用 BigTable 或 Cassandra 作为存储后端。我正在寻找关于哪个后端更 optimal/performant 的任何建议(我主要谈论节点的 2 跳邻居上的 gremlin 查询性能)与 JanusGraph。

我知道性能是非常主观的,并且会根据 datasize/graph 连接性和用例而变化,因此最好的方法是亲自尝试,我正计划这样做。但是有没有其他人做过类似的性能比较?这里有关于存储后端的一般建议吗?

你说得对,表现是:

  • 主观
  • 很大程度上取决于数据大小

我可以告诉你,我也做了这个练习。为此,我认为分享来自 DB-Engines.com.

的比较很重要

就性能而言,我最关注的是每个人如何处理一致性。作为一般规则,强制执行更高级别一致性的数据库通常必须牺牲性能。

  • BigTable == 强一致性
  • Cassandra == 最终一致

其他值得考虑的因素是 BigTable 将您限制为 Google 云 (GCP)。而且,如果您不想通过网络损失性能,您还需要为数据局部性支付 GCP 上的更多 (Janus) 实例费用。

就原始 DB-Engine“分数”而言,Cassandra 目前为 114.112,而 BigTable 为微不足道的 3.582。这些分数会逐月变化,但总的来说,这表明 Cassandra 周围有一个 更强大的社区。同样,Cassandra 在该站点上有 18182 个问题,而 BigTable 只有 449 个。最重要的是,获得支持和问题答案会容易得多。

仅仅基于社区的潜在力量,Cassandra 是更好的选择。

过去几年在 Cassandra 上支持 JanusGraph,我可以告诉你,总体来说它很可靠。困难往往与批量数据加载有关。但除此之外,事情似乎 运行 还不错。