2014-06-23 5 views
4

~ 2M 노드를 (Java API를 통해) 삽입했습니다. 하루나 이틀 후에 사용을 마쳤습니다. 이제 db는 16k 노드를 가지며, 가중치는 6GB입니다.neo4j "empty"데이터베이스가 많은 디스크 공간을 차지합니다

왜이 공간이 해제되지 않았습니까?

원인은 무엇입니까?

  • 스토어 자체가 여러 개의 파일로 분할
  • 인덱스
  • 트랜잭션 로그 파일
  • 로그 파일 (messages.log)

:

답변

10

data/graph.db 디렉토리는 여러 항목을 포함 모든 작업은 트랜잭션 로그에 저장되고에 따라 만료됩니다.설정. 기본값이 무엇인지 모르겠다. 거기에는 꽤 많은 공간이있을 수있다.

공간을 차지하는 것이 무엇인지 확인하는 것이 좋습니다.

또한 우리는 때때로 Neo4j가 실행 중이거나 중지되었을 때 사용중인 공간 (예 : du로보고 됨)이 다른 것을 확인했습니다.

+0

오른쪽 ... 나는 실수로 각 파일의 크기를 확인하지 않았다. 로그에는 5GB가 넘습니다. 그들이 빨리 성장할 수 있다는 것을 몰랐습니다. –

4

알베르토 (Alberto)의 답변 외에도 매장은 압축되지 않았습니다. 빈 레코드를 재사용을 위해 남겨두고 영원히 거기에 머무를 것입니다. 내가 아는 한, 상점을 압축 할 수있는 도구가 없습니다. (필자는 직접 작성했지만 필자는이 점이 많은 영향을 미치지 않는다고 확신합니다.)

레코드를 자주 삽입하고 삭제할 때 많은 혼란이 발생하는 경우 데이터베이스를 자주 다시 시작하여 삭제 된 것으로 표시된 레코드를 다시 사용하는 것이 좋습니다.

Alberto가 언급 한 것처럼 새로운 neo4j를 설치할 때 내가 설정 한 첫 번째 항목 중 하나 (힙 크기)는 keep_logical_logs가 1-7 일 정도입니다. 영원히 성장하게하면 (기본값) 상당히 커지게됩니다.