우리는 현재 엔진의 일부로 사용할 neo4j을 평가하고 있습니다. 슬프게도 우리의 사이퍼 쿼리가 받아 들일 수 없을 정도로 느린 것으로 밝혀졌습니다.Neo4J는 "관련 제품 가져 오기"쿼리에 적합한 선택입니까?
그래서 우리는 사이퍼에서 자바로 옮길 생각입니다. 다음 노드 유형들 우리 neo4j 데이터베이스 맵 관계 : IT는 다음과 같은 문제를 해결 자바 플러그인을 만들 가능한겠습니까
- 제품
- 태그
- 제조사
neo4j DB의 각 관계에는 일정한 비용이 있습니다 (예 : 제품과 Tag_1 간의 연결 비용이 t보다 적습니다. 동일한 제품과 Tag_2 간의 연결 (제품과 특정 사용자 간의 연결보다 비용이 적게 듭니다).
특정 소스 제품과 가장 유사한 N (10? 20? 100?) 제품을 찾고 싶습니다.
유사성은 두 노드 간의 경로 부족으로 정의 될뿐만 아니라 소스와 대상 사이의 경로 수에 의해 정의됩니다.
사이퍼를 사용하면 성능이 매우 저하되므로 Neo4J가이 문제에 적합한 도구인지 질문하기 시작합니다. 여기에있는 모든 Neo4J 전문가를위한 질문 :
두 노드 사이의 경로 수를 계산하는 Java에서 작은 경로 찾기 알고리즘을 만드는 것이 가능합니까? 응답 시간이 100ms (최대!) 미만이어야합니다.
- Neo4J 버전 : 사회 2.1.1
- 노드 : 650,000
- 제품 노드 : 550,000
- 속성 : 8,000,000
-
우리 neo4j 서버는 순간 다음과 같습니다 관계 : 6,000,000
- 관계 유형 : 9
미리 감사드립니다.