2010-05-13 3 views
1

모든 데이터 작업에 대한 전체 감사가 필요한 시스템에서 CouchDB를 사용하려고합니다. 내장 된 리비전 추적 기능 덕분에 소파는 이상적인 선택처럼 보였습니다. 그러나 the O'Reilly textbook에서 "CouchDB는 이전 버전이 유지된다는 것을 보장하지 않습니다."라고 읽었습니다.CouchDB 버전 관리/감사

저는이 시점에서 더 많은 문서를 찾지 못하거나 소파가 내부적으로 수정 추적을 처리하는 방법을 찾을 수 없습니다. 소파를 구성하여 데이터베이스 별 또는 문서 별 수준에서 모든 버전을 영원히 유지할 수있는 방법이 있습니까? 그렇다면 어떻게?

답변

8

CouchDB의 개정판은 당신이 생각하는 방식에 개정되지 않습니다. 데이터베이스에 업데이트 된 데이터를 추가하는 방식의 결과물이며 압축시 정리됩니다. 이것은 일반적인 오해입니다.

응용 프로그램의 스키마/문서 디자인의 일부로 개정 추적을 구현해야합니다. 당신은 많은 양의 데이터를 저장하지 않으려면

  1. 복제 의미,

따라서

  • 다짐 :

  • 0

    소파는 모든 버전을 저장하지만 "컴팩트 데이터베이스"링크에서 이불을 클릭하면 이전 버전이 모두 삭제됩니다. 그래서 때 컴팩 데이터베이스를 클릭하면, 모든 버전은 내가 생각하는 preserverd 것입니다 :)

    0

    CouchDB를 문서의 이전 버전을 제거하는 두 가지 상황이 있습니다 그러면 복제이 필요하지 않을 것입니다. 어쨌든, CouchDB에서 master to master 복제는 가장 중요한 기능 중 하나입니다. 디스크상의 CouchDB의 크기는 전통적인 데이터베이스보다 크기 때문에, 나중에 압축이 필요할 것입니다.

    앞에서와 마찬가지로 : 응용 프로그램의 스키마/문서 디자인의 일부로 개정 추적을 구현해야합니다.