Janusgraph/titan侦察

Janusgraph/titan reconnaissance

我目前正在为社交市场网络构建一个应用程序我正在使用 janusgraph 2.0。如果我使用 janusgraph 的决定是错误的,我会感到困惑。我的困难是:

  1. 我的 SQL 数据库包含超过 443000 条关于人物、建筑物、商店等的记录。但每次我尝试将数据插入图表时,1000 条记录需要 10 分钟。那会让我发疯的。
  2. 我在插入数据之前创建了一些复合索引和混合索引,但是当我插入数据时,我无法创建新索引(它们的属性键卡在 Installed 中),因此我有义务重新创建模式并插入数据再次.
  3. 插入数据后,我尝试 re-index 索引,因为某些索引似乎工作不正常。它对复合索引的工作不适用于混合索引。
  4. 我正在使用 Gremlin.Net 来处理 janus,但问题是我不能使用 textContains 来执行像 select * fom People where firstname like 'janus' 这样的查询。那么为什么我要使用像 Elasticsearch 这样的 Index 后端呢?

我正在使用 janusgraph v0.2、cassandra db v3.11、elasticsearch 5.6.3、Gremlin.Net 作为编程语言。 我不知道错误在哪里。数据库技术 (janusgraph),或使用的编程语言,或两者兼而有之。 请按编号定位每个点,我是图形数据库的新手,所以请解释。

要回答您的所有问题有点困难,因为它们至少解决了 3 个不同的问题。所以我会尝试回答 t

  1. My SQL database contains over 443000 record about people, buildings, shops, and other. but each time I am trying to insert data into graph it takes 10 minutes for 1000 record. That will drive me crazy.

10 分钟处理 1000 条记录听起来非常慢,即使您的记录相对较大也是如此。但是,如果不了解设置的详细信息以及如何准确插入数据,就不可能真正告诉您做错了什么。因此,我建议您在 the JanusGraph users group 中为此创建一个单独的 post ,其中描述您的设置、要插入的数据和配置,并共享您用于插入数据的代码. (你当然也可以 post 这是一个 SO 问题,但我的感觉是它对于你的 SO 用例来说有点太具体了。)

一般来说,您可能想查看此博客 post 关于使用 JanusGraph 优化写入性能:https://www.experoinc.com/post/janusgraph-nuts-and-bolts-part-1-write-performance

  1. I create some composite and mixed index before inserting data but when I insert data I can't create a new index (their properties keys stuck into In stalled) for that I am obligated to recreate the schema and insert the data again.

应该始终可以创建新索引。它只需要重新索引已经存在的数据,以便也可以使用新创建的索引来搜索这些现有数据。

不幸的是,这种重新索引有时会导致问题,据我所知,这是目前 JanusGraph 报告最频繁的问题之一。出于这个原因,我希望 JanusGraph 的未来版本会改进这个领域。

如果您在重新编制索引时遇到具体问题,那么我再次建议您创建一个单独的邮件列表 post/SO 问题,以便您分享更多详细信息。否则真的很难帮你。 你的第三个问题也是如此。

  1. I am using Gremlin.Net to deal with janus but the problem is I can't use textContains to perform queries like select * fom People where firstname like 'janus'. So why I am using Index backend like Elasticsearch then ?

对于 JanusGraph 的 .NET 用户(也包括我自己)来说,这绝对是目前缺少的一项重要功能,可能对于其他非基于 JVM 的语言的用户也是如此。我只是 started a discussion on the developer list of JanusGraph 关于如何为 Python、JavaScript 等语言以及一般的 .NET 添加这种支持。

当然欢迎任何贡献!

I don't know where is the mistake. the database technologies (janusgraph) [...]

至少您的一些问题可以归因于这些技术相对较新。 JanusGraph 大约一年前发布了第一个版本,Gremlin.Net 作为 Apache TinkerPop 的一部分的第一个正式版本仅在 4 个月前发布。所以肯定还有一些功能仍然缺失,有些功能并不像您预期​​的那样顺利。获得建设性的反馈和错误报告当然有助于改进这些项目,而且,当缺少对您很重要的功能时,您始终可以通过提交拉取请求来做出贡献。最后,Gremlin 和 Gremlin.Net 所属的 JanusGraph 和 Apache TinkerPop 这两个项目都是社区驱动的项目。

现在我不知道我是否真的回答了你的具体问题,尤其是关于索引问题的问题2和3。也许在这方面有更多知识的人可以给你一个更好的答案。 (尽管更多信息肯定会有帮助,并且针对您遇到的不同问题将 post 分开也可以更轻松地帮助您。)