- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在考虑学习 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/
我正在尝试在Elasticsearch中返回的值中考虑地理位置的接近性。我希望近距离比某些字段(例如legal_name)重要,但比其他字段重要。 从文档看来,当前的方法是使用distance_fea
我是Elasticsearch的初学者,今天在进行“多与或”查询时遇到问题。 我有一个SQL查询,需要在Elastic中进行转换: WHERE host_id = 999 AND psh_pid =
智能指针应该/可以在函数中通过引用传递吗? 即: void foo(const std::weak_ptr& x) 最佳答案 当然你可以通过const&传递一个智能指针。 这样做也是有原因的: 如果接
我想执行与以下MYSQL查询等效的查询 SELECT http_user, http_req_method, dst dst_port count(*) as total FROM my_table
我用这两个查询进行测试 用must查询 { "size": 200, "from": 0, "query": { "bool": { "must": [ { "mat
我仍在研究 Pro Android 2 的简短服务示例(第 304 页)同样,服务示例由两个类组成:如下所示的 BackgroundService.java 和如下所示的 MainActivity.j
给定标记 like this : header really_wide_table..........................................
根据 shouldJS 上的文档网站我应该能够做到这一点: ''.should.be.empty(); ChaiJS网站没有使用 should 语法的示例,但它列出了 expect 并且上面的示例似乎
我在 Stack Overflow 上读到一些 C 函数是“过时的”或“应该避免”。你能给我一些这种功能的例子以及原因吗? 这些功能有哪些替代方案? 我们可以安全地使用它们 - 有什么好的做法吗? 最
在 C++11 中,可变参数模板允许使用任意数量的参数和省略号运算符 ... 调用函数。允许该可变参数函数对每个参数做一些事情,即使每个参数的事情不是一样的: template void dummy(
我在我从事的项目之一上将Shoulda与Test::Unit结合使用。我遇到的问题是我最近更改了此设置: class MyModel :update end 以前,我的(通过)测试看起来像这样: c
我该如何做 or使用 chai.should 进行测试? 例如就像是 total.should.equal(4).or.equal(5) 或者 total.should.equal.any(4,5)
如果您要将存储库 B 中的更改 merge 到存储库 A 中,是否应该 merge .hgtags 中的更改? 存储库 B 可能具有 A 中没有的标签 1.01、1.02、1.03。为什么要将这些 m
我正在尝试执行X AND(y OR z)的查询 我需要获得该代理为上市代理或卖方的所有已售属性(property)。 我只用 bool(boolean) 值就可以得到9324个结果。当我添加 bool
我要离开 this教程,尝试使用 Mocha、Supertest 和 Should.js 进行测试。 我有以下基本测试来通过 PUT 创建用户接受 header 中数据的端点。 describe('U
我正在尝试为 Web 应用程序编写一些 UI 测试,但有一些复杂的问题希望您能帮助我解决。 首先,该应用程序有两种模式。其中一种模式是“训练”,另一种是“现场”。在实时模式下,数据直接从我们的数据库中
我有一个规范: require 'spec_helper' # hmm... I need to include it here because if I include it inside desc
我正在尝试用这个测试我在 Rails 中的更新操作: context "on PUT to :update" do setup do @countdown = Factory(:count
我还没有找到合适的答案: onclick="..." 中是否应该转义 &(& 符号)? (或者就此而言,在每个 HTML 属性中?) 我已经尝试在 jsFiddle 和 W3C 的验证器上运行转义和非
import java.applet.*; import java.awt.*; import java.awt.event.*; public class Main extends Applet i
我是一名优秀的程序员,十分优秀!