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기준)