gpt4 book ai didi

graph - 我应该使用 JanusGraph 作为主数据库来存储新项目的所有数据吗?

转载 作者:行者123 更新时间:2023-12-03 02:29:31 27 4
gpt4 key购买 nike

我正在考虑学习 JanusGraph 以在我的新大项目中使用,但我无法理解一些事情。

Janus 可以像任何数据库一样使用,并且支持“插入”、“更新”、“删除”操作,因此 JanusGraph 会将数据写入 Cassandra 或其他数据库来存储这些数据,对吗?

JanusGraph 存储节点、边、属性等的位置,它会将这些写入数据库,对吧?

这些数据应该由 Janus 加载到内存中还是一直从 Cassandra 读取?

JanusGraph 读取的数据必须在每个查询中加载到 JanusGraph 中,否则它将在数据库中进行选择以检索我需要的数据?

数据库中检索到的数据只是我需要的,还是Janus会一直读取数据库中的所有记录?

我应该在生产项目中使用 JanusGraph 还是应该等到它准备好生产?

我正在开发某种社交网络,需要存储友谊、帖子、评论、用户 block 并执行一些 Elasticsearch ,在这种情况下,我应该使用什么数据库后端?

最佳答案

Janus will write data into Cassandra or other database to store these data, right?

Where Janus store the Nodes, Edges, Attributes etc, it will write these into database, right?

Janus Graph 会将数据写入任何 storage backend你配置它来使用。这包括 Cassandra 。它使用粗略概述的数据模型将此数据写入底层数据库 here

These data should be loaded in memory by Janus or will be read from Cassandra all the time?

The data retrieved in database is only what I need or Janus will read all records in database all the time?

Janus Graph 只会加载到您在查询/遍历期间触摸的内存顶点和边。因此,如果您执行以下操作:


graph.traversal().V().hasLabel("我的神奇标签");

Janus 将读取带有该标签的顶点并将其加载到内存中。因此,您无需担心初始化图形连接,然后等待整个图形序列化到内存中才能进行查询。雅努斯是个懒惰的读者。

Should I use Janus in my project in production or should I wait until it becomes production ready?

这完全取决于您和您的用例。正如可以看到的那样,Janus 已经在生产中使用 here在页面底部。 Janus 是从 TitanDB fork 并改进的它也用于多个生产用例。因此,如果您想知道“它准备好了吗?”那么我会说是的,考虑到它的现有用途,它显然已经准备好了。

what database backend should I use?

再说一次,这完全取决于你。我用Cassandra因为它可以水平扩展,而且我发现它更容易使用。它似乎也适合所有不同大小的数据。

我玩过Google Big Table这看起来也非常强大。然而,它只真正适合非常大的数据,而且它也只在云上,因为 Cassandra 可以很容易地在本地托管。

我没有将 Janus 与 HBase 一起使用或BerkeleyDB所以我无法在那里发表评论。

不过,在后端之间进行更改非常简单(您所需要做的就是调整一些配置并检查依赖项是否到位),因此在开发过程中可以随意使用后端。当您投入生产或者对每个后端更加确定时,您才真正需要致力于后端。

关于graph - 我应该使用 JanusGraph 作为主数据库来存储新项目的所有数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45448368/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com