그리미
관계형 데이터 베이스와 문서형 데이터 베이스 모델 본문
데이터 모델과 질의 언어
- 관겨형 모델과 문서 모델 그리고 그래프 기반 데이터 모델 비교
관계형 모델과 문서 모델
- 관계형 데이터 베이스 : (테이블이라 불리는) 관계로 구성되고, 관계는 튜플 모음
- 왜 강력한 걸까?
- id를 사용하면 id 자체는 의미가 없어 식별 정보 바꿔도 id 유지 가능
- 조인이 쉬움 ?
- 질의 최적화기 동작 과정 ?
- NoSQL
- 확장성 ( 대규모 데이터셋이나 매우 높은 쓰기량 달성을 관계형 데이터보다 쉽게 할 수 있는) ?
- 특수 질의 ( 관계형 모델에서 지원않는 ) ?
- 관계형 스키마 제한에 대한 불만과 더욱 동적이고 표현력이 풍부한 데이터 모델 ?
- 이력서 같은 건 NoSQL 쓰는 게 유리
- 지역성 ( 쿼리 한방에 필요한 정보 가지고 올 수 있음 )
- 다대일 관계에 적합 x → 조인에 대한 지원이 약함 → 왜 ?
- 애플리케이션 로직에서 조인 처리하면 만사 오케이?
- 유연성, 지역성 기반 더 나은 성능
- 객체 관계형 불일치
- 임피던스 불일치
- 데이터를 관계 테이블에 저장하려면 애플리케이션 코드와 데이터 베이스 모델 객체 사이 전환 계층 필요 ?
- 맵리듀스 질의
- 애플리케이션이 주로 일대일 관계거나 일대다 관계면 적합
대강 이 정도 개념을 정리해봤으니 실제 코드로 이를 녹여보고자 합니다.
이력서를 관리하는 간단한 미니 프로젝트를 구성하고, 비교 해보겠습니다
가장 중점을 두고 볼 것은 MongoDB 의 지역성 부분입니다.
메모리가 커져도 (4kb 이상) 지역성 이점을 누릴 수 있을 건지도 궁금하고요.