본문 바로가기

책/데이터 중심의 애플리케이션 설계

03. 저장소와 검색

OLTP 

 - 사용자 대면이기 때문에 대량의 요청을 받을 수 있음

 - 각 질의마다 작은 수의 레코드만 다룸

 - 병목은 대개 디스크 탐색

 - 관점

  1. 로그 구조화 관점

   - 파일에 추가와 오래된 파일의 삭제만 허용하고 한 번 쓰여진 파일은 절대 갱신하지 않는다.

   - 비트캐스크, SS 테이블, LSM 트리, 레벨 DB, 카산드라, HBase, 루씬 등

  2. 제자리 갱신 관점

   - 덮어쓰기 할 수 있는 고정 크기 페이지의 셋으로 디스크를 다룸

   - B트리(관계형 데이터베이스, 비정형 데이터베이스)


OLAP

 - 적은 수의 질의를 다루지만 각 질의는 다루기 어렵고 짧은 시간에 수백만개의 레코드를 스캔해야 함

 - 병목은 디스크 대역폭

 - 컬럼 지향 저장소는 이런 종류의 작업 부하를 처리할 때 사용 가능함(인기가 높아지고 있음)

 - 질의가 많은 수의 로우를 순차적으로 스캔해야 한다면 색인을 사용하는 방법은 적절하지 않음

 - 질의가 디스크에서 읽는 데이터의 양을 최소화하기 위해 데이터를 매우 작게 부호화하는 일이 중요