性能调优创建OrientDB(Debrijn图)

性能调优创建OrientDB(Debrijn图),orientdb,graph-databases,orientdb-2.1,nosql,Orientdb,Graph Databases,Orientdb 2.1,Nosql,我在互联网和手册中搜索了一些性能调优功能,以减少使用OrientDB构建Debrijn图的时间。 以下是Java中的dione 在OrientDB中: kmer已编制索引。 边基于属性 我想做的是: 读取多序列文件 kmers中的分裂序列 将kmer添加到数据库并在相邻kmer之间创建边 一个和两个已经完成了。 因此,当我向OrientDB添加一个kmer时,我必须检查这个kmer是否存在,如果存在,我需要vertx来添加一个nwe边。 有什么快速的方法吗? 我已经创建了一个本地散列,其中kme

我在互联网和手册中搜索了一些性能调优功能,以减少使用OrientDB构建Debrijn图的时间。 以下是Java中的dione

在OrientDB中: kmer已编制索引。 基于属性

我想做的是:

  • 读取多序列文件
  • kmers中的分裂序列
  • 将kmer添加到数据库并在相邻kmer之间创建边
  • 一个和两个已经完成了。 因此,当我向OrientDB添加一个kmer时,我必须检查这个kmer是否存在,如果存在,我需要vertx来添加一个nwe边。 有什么快速的方法吗? 我已经创建了一个本地散列,其中kmer作为键,OrientDB RID作为值。但是获取顶点似乎需要很多时间

    我已经试过了:

    OGlobalConfiguration.USE_WAL.setValue(false);
    OGlobalConfiguration.TX_USE_LOG.setValue(false);
    declareIntent(new OIntentMassiveInsert());
    
    我需要将近3个小时来添加256公里和40.000.000条边。 另外,创建的数据库大小为9GB,开始文件大小为40MB。 有什么改进的建议吗

    请随意询问是否有不可理解的事情

    非常感谢

    迈克尔

    编辑:

    您是否有记录增长因子方面的经验?
    我认为默认情况下,节点记录中有一些输入和输出边缘信息。我可以用记录增长因子来增加运行时间吗?您对此有什么经验吗?

    Hi@Michael要检查顶点是否已经存在,并添加一个新顶点,如果不存在,您可以使用update/upsert命令?你试过了吗?嗨@Michela,我想知道这个命令的返回值是多少。他们在手册中写道:“RETURN指定要返回的表达式而不是记录,以及如何处理表达式返回的结果集…”听起来我不需要添加RETURN。如果我这样做,将抛出一个exeption:
    java.lang.Integer不能强制转换为com.tinkerpop.blueprints.Vertex
    使用的代码:`Vertex node=db.command(new-OCommandSQL(“UPDATE-GenomeGraphNode SET-seq=“+kmerasint+”upert-WHERE-seq=“+kmerasint)).execute()`例外情况是,您试图在vertexthanks中存储整数,但为什么它是整数而不是顶点?手册上说返回值就是记录。在我的例子中,记录是不是顶点?Hi@Michael要检查顶点是否已经存在,并添加一个新的顶点如果不存在,可以使用update/upsert命令?你试过了吗?嗨@Michela,我想知道这个命令的返回值是多少。他们在手册中写道:“RETURN指定要返回的表达式而不是记录,以及如何处理表达式返回的结果集…”听起来我不需要添加RETURN。如果我这样做,将抛出一个exeption:
    java.lang.Integer不能强制转换为com.tinkerpop.blueprints.Vertex
    使用的代码:`Vertex node=db.command(new-OCommandSQL(“UPDATE-GenomeGraphNode SET-seq=“+kmerasint+”upert-WHERE-seq=“+kmerasint)).execute()`例外情况是,您试图在vertexthanks中存储整数,但为什么它是整数而不是顶点?手册上说返回值就是记录。在我的例子中,记录是顶点,还是不是?