
199
13
장
-
지속성
정말 단순한 형태가 아닌 한, 웹사이트나 웹 애플리케이션에는 일종의 지속성
persistence
이 필요합
니다. 지속성이란, 데이터를 불안정한 메모리보다 더 영구적인 곳에 저장해서 서버가 충돌하거
나, 전기가 나가거나, 업그레이드되거나, 이전한다 해도 데이터가 유지되도록 하는 겁니다. 이
장에서는 지속성을 유지할 수 있는 옵션을 몇 가지 설명하며, 문서 데이터베이스에 중점을 둡
니다.
13.1.
파일시스템 지속성
데이터를 단순히 ‘플랫 파일’에 보관하기만 해도 지속성을 얻을 수 있습니다. ‘플랫’이라는 표현
은 이런 파일은 내재적 구조가 없고 그저 바이트의 연속이기 때문입니다. 노드는
fs
filesystem
모
듈을 통해 파일시스템 지속성을 제공합니다.
파일시스템을 통한 지속성에는 몇 가지 결점이 있습니다. 가장 큰 문제는 확장이 어렵다는 겁
니다. 트래픽이 늘어나면서 서버 하나로는 감당하기 어려워지는 순간, 파일시스템 지속성은 문
제를 일으키기 시작합니다(모든 서버가 파일시스템 하나를 공유한다면 예외입니다). 또한, 플
랫 파일에는 내재적 구조가 없으므로 데이터를 검색하고, 정렬하고, 필터링하는 부담을 모두
애플리케이션이 져야 합니다. 이런 이유로, 데이터를 저장할 때는 파일시스템보다 데이터베이
스를 우선시해야 합니다. 한 가지 예외는 이미