1

我已经在 Internet 和手册中搜索了一些性能调整功能,以减少我的 deBruijn Graph 与 OrientDB 的构建时间。以下所有内容都是用 Java 编写的。

在 OrientDB: Kmers被索引。 边缘是基于属性的。

我想做的是:

  1. 读入多序列文件
  2. kmers 中的拆分序列
  3. 将 Kmers 添加到数据库并在相邻 kmers 之间创建边缘

一二已经做好了。所以当我向 OrientDB 添加一个 kmer 时,我必须检查这个 kmer 是否存在,如果存在,我需要 vertx 来添加一个 nwe 边缘。有什么快速的方法吗?我已经创建了一个本地散列,其中 kmer 作为键,OrientDB RID 作为值。但是获取顶点似乎需要很多时间。

我已经尝试过:

OGlobalConfiguration.USE_WAL.setValue(false);
OGlobalConfiguration.TX_USE_LOG.setValue(false);
declareIntent(new OIntentMassiveInsert());

我需要将近 3 个小时来添加 256 kmers 和 40.000.000 个边。此外,创建的 DB 大小为 9GB,起始文件为 40 MB。有什么建议可以改进吗?

如果有什么不能理解的,请随时询问。

非常感谢。

迈克尔

编辑:

你对Record Grow factor有什么经验吗?我认为节点记录默认包含一些进出边缘信息。我可以使用 RECORD_GROW_FACTOR 增加运行时间吗?你有这方面的经验吗?

4

0 回答 0