( CSV -> MongoDB )
1차 정규형은 각 로우마다 컬럼의 값이 1개씩만 있어야 합니다. 이를 컬럼이 원자값(Atomic Value)를 갖는다고 합니다
2차 정규형은 테이블의 모든 컬럼이 완전 함수적 종속을 만족하는 것입니다. 기본키 중에 특정 컬럼에만 종속된 컬럼(부분적 종속)이 없어
야 한다는 것입니다.
3차 정규형은 기본키를 제외한 속성들 간의 이행적 함수 종속이 없는 것 입니다. 풀어서 말하자면, 기본 키 이외의 다른 컬럼이 그 외 다른
컬럼을 결정할 수 없는 것입니다.
구조가 다르기에 One by One으로 옮기는 것은 무의미 하다.
Document에 컬럼명이 같이 들어간다.
1차 정규화를 통한 데이터의 중복성 해결
1차 정규형은 각 로우마다 컬럼의 값이 1개씩만
있어야 합니다.
이를 컬럼이 원자값(Atomic Value)를 갖는다고
합니다. (RDBMS에서는 XML, JSON을 넣는 경우
도 있다)
2차, 3차를 통해 종속성
-> 데이터 무결성, 리소스 낭비를 방지
정규화는 귤을 까는 것을 이야기할 수 있고, 쿠키 통의 쿠키를
먹는 것이 MongoDB의 스키마 결정이라고 할 수 있다.
RDBMS와 MongoDB는 귤과 쿠키를 먹는 방법이 다르듯이
데이터에 접근하는 방식이 다르다.
RDBMS에서는 배열 정보를 위해서
XML용 필드를 별도로 주는 경우도 있다.
RDBMS의 1차 정규화에 관련하여
MongoDB에서도 중복은 발생하지 않게 할 수 있다.
(2개의 테이블을 하나의 다큐먼트로 표시한 예
중복은 없음)
MongoDB의 스키마 디자인 기본 원칙은 다음과 같다.
기존 RDBMS는 데이터의 관점이지만 MongoDB는 어플리케이션 관점이다.
레퍼런스 모델
유저 1이 댓글 작성한 경
우, id를 관리하는 형태
서브셋 모델
유저 id 없이 작성자와 댓글 작성자
를 같이 넣는 케이스
애플리케이션 작성 예
인덱스
USER와 ARTICLE을 조인하면 데이터를
가져올 수 있기에 인덱스의 숫자가 적어진다.
필드 추가를 위해 NULL을 고려할 필요가 없다.
응용 프로그램에 맞게 스키마를 디자인해야 한다.
기사와 댓글을 분리시키는 방법
도큐멘트 사이즈가 작아진다.
articles에는 최근10~20개만 넣고 그 외의
댓글은 comments에 넣는다.(중복발생)
특정인(트럼프 등)의 경우 댓글이 많을 경우
ariticles에는 정해 준 숫자(예: 1000) 만큼만
Comments를 넣고 그 외는 별도 도큐먼트로
관리한다.
has_extras: true (댓글이 더 있다)
원본 잘못되어 있음: 별도의 필드이다
오늘 사용할 방식은 ETL 방식이다.
Comma Separated File
Tab Separated File
잔고
지역(대륙)
주문하는 회사
파트별 서플라이별 잔고
일단 같이 묶을 수 있는 것을 정리한다.
가장 심플한 방법
(필드 파일)
LEFT OUTER JOIN
두 개의 테이블을 하나로
NATION을 REGION으로 넣는다.
REGION을 기준으로 lookup하여
R_NATION에 배열로 들어간다.
문제 발생 !!!
주소/ 전화번호 변경
몽고디비는 병렬 처리 불가
프라이머리에서 실행할 것
RDBMS to MongoDB migration
RDBMS to MongoDB migration
RDBMS to MongoDB migration
RDBMS to MongoDB migration
RDBMS to MongoDB migration
RDBMS to MongoDB migration
RDBMS to MongoDB migration
RDBMS to MongoDB migration
RDBMS to MongoDB migration
RDBMS to MongoDB migration
RDBMS to MongoDB migration
RDBMS to MongoDB migration
RDBMS to MongoDB migration
RDBMS to MongoDB migration
RDBMS to MongoDB migration
RDBMS to MongoDB migration
RDBMS to MongoDB migration
RDBMS to MongoDB migration
RDBMS to MongoDB migration
RDBMS to MongoDB migration
RDBMS to MongoDB migration
RDBMS to MongoDB migration
RDBMS to MongoDB migration
RDBMS to MongoDB migration
RDBMS to MongoDB migration
RDBMS to MongoDB migration

RDBMS to MongoDB migration