OrientDB性能

OrientDB性能,orientdb,Orientdb,我一直在阅读有关OrientDB性能基准的帖子:就是一个例子 它建议“在普通硬件上每秒最多可存储150000条记录” 我可能做错了什么,但我在orientDB中试图升级时未能实现此性能: Java API(检查是否存在顶点,如果不存在,则创建一个顶点)-在大约5分钟内处理20k条记录的数据 ETL确实很快就完成了插入过程——20秒内插入19k条记录——但ETL不支持UPSERT 使用批量OCommandScript,通过哈希索引实现了最佳效果- 3.40分钟-21k记录-SBTREE 2.46分

我一直在阅读有关OrientDB性能基准的帖子:就是一个例子

它建议“在普通硬件上每秒最多可存储150000条记录”

我可能做错了什么,但我在orientDB中试图升级时未能实现此性能:

  • Java API(检查是否存在顶点,如果不存在,则创建一个顶点)-在大约5分钟内处理20k条记录的数据
  • ETL确实很快就完成了插入过程——20秒内插入19k条记录——但ETL不支持UPSERT
  • 使用批量OCommandScript,通过哈希索引实现了最佳效果- 3.40分钟-21k记录-SBTREE 2.46分钟-21k记录-散列索引 3分钟-5k记录-朗讯全文索引
  • 使用HTTP POST-&JSON 21k记录5分钟
  • 请问我错过了什么?有没有比这更好的方法,我不知道

    要创建/更新顶点,我的代码如下: 用于(字符串键:键集){

    要添加边(如果不存在),代码如下所示:

                            if (!parentCardVertex
                                    .getEdges(cardVertex, Direction.OUT)
                                    .iterator().hasNext()) {
    
                                parentCardVertex.addEdge("Composedof",
                                        cardVertex);
                            }
    
    所有类在“Name”属性上都有唯一的\u散列\u索引。
    另外,我分析过,创建边比创建顶点花费的时间要多得多。

    没有任何代码很难帮助。你能发布解决方案吗(1)?您是否针对正在查找的属性创建了任何索引?您好@Lvca,我现在已将代码添加到注释部分。我使用UNIQUE_HASH_索引,因为在试用后,它似乎是最快的。如果您使用的是远程协议,这可能是原因。请改用plocal。@Lvca:您的意思是说更高的速度只能实现吗如果程序运行在graphdb运行的同一台机器上,是吗?没错。如果需要更好的性能,可以连接到plocal。
                            if (!parentCardVertex
                                    .getEdges(cardVertex, Direction.OUT)
                                    .iterator().hasNext()) {
    
                                parentCardVertex.addEdge("Composedof",
                                        cardVertex);
                            }