2011-06-10 5 views
7

neo4j의 이러한 두 구현의 차이점을 알고 싶습니다. 두 기법의 물론 이름은 자명하지만, 여전히 주요 차이점은 무엇입니까? 프로젝트에서 사용할 기술을 결정할 때 고려해야 할 요소는 무엇입니까? 장단점.Neo4j Standalone 대 Embedded 서버?

P. 반복 질문 인 경우 죄송합니다.하지만 내 질문에 대한 답변을 찾지 못했습니다.

답변

10

독립형 서버가 내장형 서버에 구축 되었기 때문에 일반적으로 내장형 서버는 성능이 뛰어나고 (분명히) 대기 시간이 짧습니다. 둘 중 하나는 고 가용성 모드에서 작동하고, 모니터링을 허용하며, neo4j- 쉘에서 연결을 허용합니다. 하지만 서버를 사용하면 원격, 기본 시각화, 모니터링 인터페이스 등과 같은 더 많은 기능을 즉시 사용할 수 있습니다.

차이점은 실제와 다를 수 있습니다. 배포 방법 선택은 다음 두 가지의 영향을받습니다.

  1. 언어 포함 모드에서는 응용 프로그램을 JVM 호환 언어로 구현해야합니다. 서버는 HTTP 요청을 보낼 수있는 모든 언어/프레임 워크를 지원합니다.
  2. 응용 프로그램과 Neo4j간에 하드웨어 공유 물리적 자원이 필요할 수 있습니다. 스케일링은 전용 시스템이 지속성 계층을 분리하도록 주장 할 수 있습니다. 서버에는 분명히 응용 프로그램 세그먼트 화를 지원하는 원격 API가 있습니다.

특별한 사용 시나리오가 없으면 안내하기가 어렵습니다. 기존의 SOA (Service Oriented Architecture)에 배치? 아마도 서버 일 겁니다. 복사기로 달리기? 임베디드로 이동하십시오. 처음부터 웹 응용 프로그램에서? 나머지 스택은 무엇입니까?

+0

프로젝트는 noe4j 데이터베이스를 사용하고자하는 웹 사이트입니다. 임베디드를 사용하는 생각은 올바른 방식이며, 컬 및 다른 것들에 대한 걱정을 덜어줌으로써 쉽게 배포 할 수 있습니다. – codecool

+0

Neo4j HA를 사용하면 API REST가 내 앱 (분리 된 컴퓨터)을 Neo4j 클러스터에 연결할 수있는 유일한 방법입니까? – arutaku

+0

예, Neo4j와의 모든 원격 통신은 REST API를 통해 수행됩니다. – akollegger