본문 바로가기
개발 Story/몽고디비

06. Mongodb - 몽고디비 드라이버 작동 원리

by niee 2016. 11. 26.

1. 책에는 루비를 이용하여 트위터와 연동하는 내용인데 별로 필요하진 않은것 같고 드라이버 작동원리 부분만 알면 될 것 같아 이부분만 정리.


1-1) 드라이버의 작동 원리

- 모든 몽고디비 드라이버는 3가지 중요한 기능을 수행

- 모든 도큐먼트의 _id 필드에 디폴트로 저장되는 객체 ID 생성.

- 특정 언어로 표현된 도큐먼트와 몽고디비의 이진데이터 포멧인 BSON 사이의 변환 수행.

- 몽고디비의 와이어 프로토콜을 사용해서 네트워크 소켓을 통해 몽고디비와 통신.


1-2) 객체 ID생성

- 모든 몽고디비 도큐먼트는 primary key가 필요.

- 개발자가 임의값을 넣어주는 것이 가능.

- 임의값이 지정되지 않을경우 객체 id값이 사용.

- id값의 처음 4바이트는 유닉스 에폭 후 몇 초가 지났는지를 나타낸다.

- 다음 3바이트는 서버의 id.

- 다음 2바이트는 프로세스id.

- 마지막 3바이트는 프로세스 로컬 카운터.


1-3) BSON

- BSON은 몽고디비에서 도큐먼트를 표현하기 위한 바이너리 포맷.

- BSON의 데이터 타입은 UTF-8문자열이나 32비트,64비트 정수, 더블, 부울, 타임스탬프와 UTC타임스탬프 등 

- 자세한 내용은 메뉴얼 참조(3.2기준)