2014-06-16 2 views
0

사용자 프로필 및 소셜 데이터를 그래프로 가져 오는 응용 프로그램이 있습니다. 내 응용 프로그램 가져 오기 도구는 nodejs 응용 프로그램입니다. 내 수입업자는 node-neo4j 및 async cypher 쿼리를 사용하여 데이터를 가져 왔습니다. 수천 개의 쿼리를 하나로 묶어주는 Q 약속 라이브러리와 결합했습니다.neo4j 그래프 가져 오기 느린 트랜잭션 끝점 사용

제 2 단계에서는 트랜잭션 REST 엔드 포인트 인/db/data/transaction/commit과 5000 개의 트랜잭션을 포함하는 단일 JSON 문서를 사용하려고했습니다.

내가보기에 첫 번째 접근 방식은 15 초 만에 끝났지 만 두 번째 접근 방식 (실제로 HTTP 호출 횟수가 적을 것으로 예상 됨)은 실제로 완료하는 데 30 초 정도 걸립니다. 나는 두 번째 접근법이 두 번 느려질 수있는 방법에 대한 손실이 있습니다.

누구든지이 문제에 관해 밝힐 수 있습니까?

+0

아마 당신은 진술을 어떻게 보이는지 몇 가지 코드를 공유 할 수 있습니까? 그 종점에 대해 어떻게 처형 했습니까? 아마도 일부 인덱스 또는 제약 조건이 누락 되었습니까? –

+0

나는 본질적으로 이렇게하고있다 : http://docs.neo4j.org/chunked/milestone/rest-api-transactional.html#rest-api-begin-and-commit-a-transaction-in-one-request 그리고 나는 neo4j-node를 사용하지 않고 노드 요청 모듈을 사용하여 단일 HTTP RESTFul 호출을 만든다. –

+0

또한 실제 페이로드에는 5000 개의 트랜잭션이 포함됩니다. –

답변

0

트랜잭션은 성능을 위해 메모리를 교환하고 순서가 지정된 작업을 커밋합니다.

빠른 수입품을 원하시면, LOAD CSV을 권장합니다.