Я новичок в OrientDB, имея небольшой опыт работы с Neo4J, и у меня возникают проблемы с производительностью при попытке загрузить и создать Edges с помощью инструмента OETL.BAT. Мне нужно создать ~ 4.4 миллиона ребер между узлами (примерно 42 миллиона, не все они используются на этом этапе etl). Узлы «Customer» уже загружены, а список краев, который я загружаю, очень прост (как показано ниже) и просто имеет источник & идентификатор назначения для каждого края, его целью является моделирование платежей между клиентами.OrientDB slow Edge Создание ETL
В настоящее время я получаю пропускную способность ~ 23-30 в секунду, в соответствии с инструментом etl. Я прибегал к использованию CSV-файла, а не к JDBC-соединению с моей RDBMS, и я тоже в режиме «plocal».
Есть ли более быстрый способ сделать это? или я, возможно, ошибаюсь?
Заказчик - Vertex CISNumber, имя
ПЛАТНЫЕ - Край SourceCISNumber, DestCISNumber, сумма, TransactionCount
Заранее спасибо
{
"source": { "file": { "path": "/datafiles/PersonalCustomers/Edges.csv" } },
"extractor": { "row": {} },
"transformers": [
{"csv": {} },
{"merge": {"joinFieldName": "SourceCISNumber", "lookup": "Customer.CISNumber"} },
{"vertex": {"class": "Customer", "skipDuplicates": true} },
{ "edge":
{
"class": "PAID",
"joinFieldName": "DestCISNumber",
"lookup": "Customer.CISNumber",
"unresolvedLinkAction": "SKIP",
"edgeFields":
{
"Volume": "${input.Transactioncount}",
"Value": "${input.Amount}"
}
}
},
{"field": {"fieldNames": ["SourceCISNumber", "DestCISNumber", "Transactioncount", "Amount"], "operation": "remove" } }
],
"loader": {
"orientdb": {
"dbURL": "plocal:/orientdb/databases/Customers",
"dbType": "graph",
"batchCommit": 500,
"useLightweightEdges" : true,
"classes": [
{"name": "PAID", "extends": "E"},
]
},
"indexes": [
{"class":"Customer", "fields":["CISNumber:long"] }
]
}
}
Вы можете увидеть это [вопрос] (http://stackoverflow.com/questions/37053190/orientdb-fastest-batchimport/37065876#37065876) –