현재 CouchDB를 사용하여 wiki-esque 응용 프로그램을 작성 중이며 문서 버전 관리 체계를 구현하려고합니다. 내가 보는 방식에는 두 가지 방법이 있습니다.
- 각 버전을 별도의 문서로 저장
- 이전 버전을 단일 문서의 첨부 파일로 저장하십시오.
지금은 # 1이 작동하는 형태입니다. 사용자가 문서를 편집하고 저장하면 백엔드는 먼저 이전 개정을 새 문서에 복사 한 다음 새 버전을 저장합니다. 각 문서에는 각 버전 (이전 버전의 문서 _id, 타임 스탬프, 편집기 등)에 대한 데이터가 포함 된 '이력'배열이 있습니다.
이 히스토리 배열은 자주 업데이트되는 문서의 경우 상당히 길어질 수 있으므로 일반 읽기 중에 문서 산 내역을 가져 오는보기 (및 내역을 가져 오기위한 다른보기)가 있습니다.
내 질문은 이것입니다 : 나는 현재의 접근 방식에 대해 불안감을 느끼고 '첨부 파일'방법으로 변경하는 것에 대해 생각하고 있습니다. 그러나 나는 확실하지 않다. 나는 CouchDB를 아는 사람이 나보다 나아지기를 바라고있다 (나는 몇 주 동안이 일을했다. 접근하다. 아니면 내가 간과하고있는 다른 버전 관리 체계가 있습니까?