Intro


이번 장은 DB 종류에 대해서 각각 설명하고 비교하는 장이었다. 문서DB와 그래프 DB 위주로 공부했다.

DB 간의 차이점을 알고 선택할 때 기준을 가지고 팀원들과 협업하는 것이 목표.

새롭게 알게 된 점(New)

맵리듀스 질의 (MapReduce)

맵리듀스는 많은 컴퓨터에서 대량의 데이터를 처리하기 위한 프로그래밍 모델이다.

몽고 DB를 포함한 NoSQL 데이터 저장소는 제한된 형태의 맵리듀스를 지원한다. 많은 문서를 대상으로 읽기 전용(read-only) 질의를 수행할 때 사용한다.

몽고디비에서 map, reduce 함수를 수행할 때 순수 함수여야 한다. 전달된 데이터만 사용하고 그 외의 부수 효과는 없어야 한다.

사용법

필터를 선언적으로 지정하고, 질의와 일치하는 문서들에 호출하고 map의 결과값을 reduce로 합쳐서 컬렉션에 기록한다.

문서형 DB

문서형 DB도 읽기/쓰기 유형으로 나뉜다 (스키마리스지만 구조 정도는 나뉜다고;)

애플리케이션의 데이터 타입(Type)을 변경할 때

대부분의 RDBMS는 alter table문이 수 밀리초밖에 안 걸리는데, MySQL에서 테이블 변경이 이루어지면 전체 테이블을 복사하는데 이 때 수 분~수 시간까지 중단시간이 발생한다.

→ 이건 좀 크리티컬하지 않나. 그러면 이거 할 때는 사이트 점검 중 띄워놓고 해야 하는 걸까.

그냥 새 테이블 만들고 데이터 마이그레이션 갈겨~

어려웠거나 이해하지 못한 부분(Difficulty)

저장소 지역성 활용하기

한번에 해당 문서의 많은 부분을 필요로 하는 경우에만 적용된다.