일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- data science
- WebGL
- 딥러닝
- 빅 데이터
- 데이터 과학
- 김양재
- MongoDB
- 빅데이터
- 김양재 목사
- node.js
- openCV
- Big Data
- 김양재 목사님
- nodeJS
- probability
- 확률
- 통계
- Deep learning
- 빅데이타
- 인공지능
- Artificial Intelligence
- 우리들교회
- Machine Learning
- 몽고디비
- No SQL
- c++
- R
- 빅 데이타
- Statistics
- 주일설교
Archives
- Today
- Total
Scientific Computing & Data Science
[MongoDB] Replication / Oplog 본문
by Geol Choi |
oplog(operation log)는 마스터 노드에 요청되는 연산들이 로그로 기록되는 파일이며, local이라는 이름의 db 내의 oplog.rs(rs는 Replica Set의 이름)이라는 이름의 컬렉션 내에 저장된다.
예를 들어 oplog의 내용을 출력하면 다음과 같다:
> show dbs local 4.279296875GB test 0.0625GB > use local switched to db local > db.getCollectionNames() [ "oplog.rs", "slaves", "startup_log", "system.indexes", "system.replset" ] > db.oplog.rs.find().pretty() { "ts" : Timestamp(1396096489, 1), "h" : NumberLong(0), "v" : 2, "op" : "n", "ns" : "", "o" : { "msg" : "initiating set" } } { "ts" : Timestamp(1396096495, 1), "h" : NumberLong("-8745255044808441839"), "v" : 2, "op" : "n", "ns" : "", "o" : { "msg" : "Reconfig set", "version" : 2 } } { "ts" : Timestamp(1396096507, 1), "h" : NumberLong("-4666497119748582412"), "v" : 2, "op" : "n", "ns" : "", "o" : { "msg" : "Reconfig set", "version" : 3 } } { "ts" : Timestamp(1396097326, 1), "h" : NumberLong("2929377522288628653"), "v" : 2, "op" : "i", "ns" : "test.tmp", "o" : { "_id" : ObjectId("5336c12e07a320abf7b320e3"), "username" : "gchoi", "pwd" : 1234 } }
도큐먼트는 위와 같이 "ts", "h", "v", "op", "ns", "o" 등의 키를 포함하는데 주요 키에 대한 설명은 다음과 같다.
ts
연산에 대한 타임스탬프(Timestamp). 4 바이트의 타임스탬프와 4 바이트의 증가 카운터로 구성되어 있다.
op
1 바이트 코드로 수행되는 연산 유형. "i"는 insert를 의미한다.
ns
연산이 수행되었던 컬렉션 이름(네임스페이스).
o
수행할 연산을 지정하는 도큐먼트.
oplog에 대한 몇가지 특징을 살펴보자:
oplog는 마스터와 슬레이브 노드 간 데이터를 동기화하는 것이 주목적이므로 데이터의 쓰기 등과 관련된 연산만 기록된다는 것이다. 즉, 이미 저장된 데이터에 대한 처리를 위한 쿼리는 기록되지 않으며 사실상 기록될 필요가 없다.
oplog에 저장된 연산들은 마스터 서버에서 수행된 연산들과 정확히 일치하는 것은 아니다.
oplog는 capped collection에 저장된다.
'Data Science > MongoDB' 카테고리의 다른 글
[MongoDB] Replication / Replication State & Local DB (0) | 2014.04.09 |
---|---|
[MongoDB] Replication / Sync (0) | 2014.04.09 |
[MongoDB] Replication / Usage of Slaves / Data Processing (0) | 2014.03.29 |
[MongoDB] Replication / Replica Sets Part 2. (1) | 2014.03.29 |
[MongoDB] Replication / Usage of Slaves / Read Scaling (0) | 2014.03.29 |
Comments