몽고디비
몽고디비 11장 - 복제 셋 구성요소
몽고디비 11장 - 복제 셋 구성요소
2024.04.1411. 복제 셋 구성요소 11.1 동기화 로그, 즉 oplog를 보관함으로써 복제를 수행한다. Replica Set Oplog 네이밍이다. Oplog는 Replica set의 데이터를 동기화를 위해 내부에서 발생하는 모든 동작의 로그를 기록한 것 이다. 세컨더리 다운되면 재시작할 때 oplog에 있는 마지막 연산과 동기화한다. oplog 작업은 멱등이다. (동일한 데이터 결과셋) 크기가 고정되어 있어서 연산의 수가 정해져있다. 기본크기로 괜찮다. 다만, 삭제만 oplog 여러개 항목으로 분해된다. 예를 들어서 db.col.remove() 로 도큐먼트 100만개를 삭제하면 oplog 항목 100만개를 하나씩 삭제한다. 아래의 케이스의 경우 기본 oplog크기보다 더 크게 줘야하는 케이스가 된다. 한 번에 ..
Mongo : Transaction
Mongo : Transaction
2024.03.24몽고DB 8장 대체 Transaction 몽고 디비 단일 문서에 대해 Atomic 처리가능 → 데이터 일관성 보장 관련 데이터를 하나의 문서에 저장함으로써 복잡한 트랜잭션 처리 없이도 데이터의 일관성과 무결성을 유지 여러 문서라면? 여러 문서에 걸쳐 일관성을 유지해야 하는 상황에서는 MongoDB의 분산 트랜잭션 기능을 사용하여 여러 작업을 하나의 트랜잭션으로 묶어 처리 transactions API 트랜잭션을 시작합니다. 지정된 작업을 실행합니다. 결과를 커밋하거나(또는 에러 시 중단합니다). 콜백 API는 특정 에러에 대해 재시도 로직을 포함 TransientTransactionError 또는 UnknownTransactionCommitResult 커밋 에러 후에 트랜잭션을 다시 시도 MongoDB ..
Mongo 7 - 집계
Mongo 7 - 집계
2024.03.117.1 파이프라인 모든 단계의 입력과 출력은 도큐먼트다. 한 번에 입력 도큐먼트 스트림 하나씩 가져와서 각 도큐먼트 하나씩 처리하고 출력 도큐먼트 스트림 생성 각 단계는 knobs, tunables 셋 제공 이 항목 조정해서 각 단계 매개변수로 지정해 원하는 작업을 수행한다. mongod.conf 파일이나 명령줄 옵션을 통해 조정할 수 있다. 예를 들면 캐시 크기 4GB 설정한다고 하면 mongod.conf 파일에 아래 내용을 추가한다. *knobs, tunables → 데이터베이스 성능 최적화 하기 위해 조정할 수 있는 설정 및 매개변수이다. storage: wiredTiger: engineConfig: cacheSizeGB: 4 7.2 익숙한 작업들 일치 → 선출 → 정렬 → 건너뛰기 → 제한 단계가..