orientdb慢速分布式etl导入

orientdb慢速分布式etl导入,orientdb,orientdb-2.1,Orientdb,Orientdb 2.1,我有一个如下所示的ETL,只是我们从mysql中提取了8个字段,有8个顶点类和7个边缘类 { "config": { "parallel": true }, "extractor": { "jdbc": { "driver": "com.mysql.jdbc.Driver", "url": "jdbc:mysql://<some IP>/car_database",

我有一个如下所示的ETL,只是我们从mysql中提取了8个字段,有8个顶点类和7个边缘类

{
      "config": {
        "parallel": true
      },
      "extractor": {
        "jdbc": {
          "driver": "com.mysql.jdbc.Driver",
          "url": "jdbc:mysql://<some IP>/car_database",
          "userName": "admin",
          "userPassword": "admin",
          "query": "select uid, type, color, age from car_info;",
          "fetchSize": -2147483648
        }
      },
      "transformers": [
        {
          "vertex": {
            "class": "Car"
          }
        },
        {
          "field": {
            "fieldName": "value",
            "expression": "uid"
          }
        },
        {
          "edge": {
            "class": "HasType",
            "lookup": "Type.value",
            "joinFieldName": "type",
            "unresolvedLinkAction": "CREATE"
          }
        },
        {
          "edge": {
            "class": "HasColor",
            "lookup": "Color.value",
            "joinFieldName": "color",
            "unresolvedLinkAction": "CREATE"
          }
        },
        {
          "edge": {
            "class": "HasAge",
            "lookup": "Age.value",
            "joinFieldName": "age",
            "unresolvedLinkAction": "CREATE"
          }
        },
        {
          "field": {
            "fieldNames" : [
              "uid",
              "type",
              "color",
              "age"
            ],
            "operation": "remove"
          }
        }
      ],
      "loader": {
        "orientdb": {
          "dbURL": "remote:<some IP >/CarGraph",
          "dbType": "graph",
          "txUseLog": false,
          "wal": false,
          "tx": false,
          "batchCommit": 1000,
          "classes": [
            {
              "name": "Car",
              "extends": "V"
            },
             {
                "name": "Type",
                "extends": "V"
              },
              {
                "name": "HasType",
                "extends": "E"
              },
              {
                "name": "Color",
                "extends": "V"
              },
              {
                "name": "HasColor",
                "extends": "E"
              },
              {
                "name": "Age",
                "extends": "V"
              },
              {
                "name": "HasAge",
                "extends": "E"
              }
          ],
          "indexes": [
            {
              "class": "Car",
              "fields": [
                "value:string"
              ],
              "type": "UNIQUE"
            },
            {
              "class": "Type",
              "fields": [
                "value:string"
              ],
              "type": "UNIQUE"
            },
            {
              "class": "Color",
              "fields": [
                "value:string"
              ],
              "type": "UNIQUE"
            },
            {
              "class": "Age",
              "fields": [
                "value:string"
              ],
              "type": "UNIQUE"
            }
          ]
        }
      }
    }
{
“配置”:{
“平行”:正确
},
“提取器”:{
“jdbc”:{
“驱动程序”:“com.mysql.jdbc.driver”,
“url”:“jdbc:mysql:///car_database",
“用户名”:“管理员”,
“用户密码”:“管理员”,
“查询”:“从车辆信息中选择uid、类型、颜色、年龄”,
“fetchSize”:-2147483648
}
},
“变形金刚”:[
{
“顶点”:{
“类别”:“汽车”
}
},
{
“字段”:{
“字段名”:“值”,
“表达式”:“uid”
}
},
{
“边缘”:{
“类”:“HasType”,
“查找”:“Type.value”,
“joinFieldName”:“类型”,
“UnsolvedLinkAction”:“创建”
}
},
{
“边缘”:{
“类”:“HasColor”,
“查找”:“Color.value”,
“joinFieldName”:“颜色”,
“UnsolvedLinkAction”:“创建”
}
},
{
“边缘”:{
“类”:“HasAge”,
“查找”:“Age.value”,
“joinFieldName”:“年龄”,
“UnsolvedLinkAction”:“创建”
}
},
{
“字段”:{
“字段名”:[
“uid”,
“类型”,
“颜色”,
“年龄”
],
“操作”:“删除”
}
}
],
“加载器”:{
“orientdb”:{
“dbURL”:“远程:/CarGraph”,
“dbType”:“graph”,
“txUseLog”:错误,
“沃尔”:错,
“tx”:错误,
“batchCommit”:1000,
“类别”:[
{
“名称”:“汽车”,
“扩展”:“V”
},
{
“名称”:“类型”,
“扩展”:“V”
},
{
“名称”:“HasType”,
“扩展”:“E”
},
{
“名称”:“颜色”,
“扩展”:“V”
},
{
“名称”:“HasColor”,
“扩展”:“E”
},
{
“姓名”:“年龄”,
“扩展”:“V”
},
{
“姓名”:“HasAge”,
“扩展”:“E”
}
],
“索引”:[
{
“类”:“汽车”,
“字段”:[
“值:字符串”
],
“类型”:“唯一”
},
{
“类”:“类型”,
“字段”:[
“值:字符串”
],
“类型”:“唯一”
},
{
“类”:“颜色”,
“字段”:[
“值:字符串”
],
“类型”:“唯一”
},
{
“阶级”:“年龄”,
“字段”:[
“值:字符串”
],
“类型”:“唯一”
}
]
}
}
}
以下是我的默认分布式db cofig文件:

{
  "autoDeploy": true,
  "hotAlignment": false,
  "executionMode": "undefined",
  "readQuorum": 1,
  "writeQuorum": 1,
  "failureAvailableNodesLessQuorum": false,
  "readYourWrites": true,
  "servers": {
    "*": "master"
  },
  "clusters": {
    "internal": {
    },
    "index": {
    },
    "*": {
      "servers": ["<NEW_NODE>"]
    }
  }
}
{
“自动部署”:正确,
“热校准”:错误,
“executionMode”:“未定义”,
“readQuorum”:1,
“书面形式”:1,
“FailureAvailableNodeLessQuarum”:false,
“readYourWrites”:没错,
“服务器”:{
“*”:“主控”
},
“集群”:{
“内部”:{
},
“索引”:{
},
"*": {
“服务器”:[“”]
}
}
}
我正在尝试实现一个orient集群,目前在不同的服务器上有两个节点。当我在其中一个图形框上运行导入时(当前QA环境中只有200行,prod将超过3500万),我看到每秒加载1-3个节点,即使仲裁设置为1。我尝试了5-6种不同的组合,切换并行、仲裁值、不同的服务器设置,但只要加载程序指向远程数据库,它就会非常慢

同样的etl在我的本地机器上以1500-2000/s的速度运行,形成一个plocal图形

我发现的最快的方法是在加载程序指向plocal图形的情况下运行导入。然后,一旦完成,重新启动分布式服务器,并允许2个节点同步

是否有我缺少的东西,或者某些服务器配置可能导致导入速度太慢?
定向版本2.1.6

remote+distributed比Single plocal实例慢得多,所以对我来说是有意义的。@Lvca从每秒1000-2000个节点降低到每秒1-3个节点?哎哟,谢谢你提醒我。每秒1-3次这绝对不正常。对于3个节点,它应该大约为3k/秒。你能试用一下parallel和v2.1.7吗?今天我们将添加另一个节点,并试用一些2.1.8版本的导入。