네이버 검색에서 몽고 DB
FAST + SCALABLE + HIGHLY AVAILABLE = MongoDB
* 하위 레이어... 최종적으로... - 1초안에 return 해주어야 함 = 평균 10ms 미만
* 초당 6천건 수준.. 일 평균 4~5언건. 몽고 DB 초당 만건 이상
몽고DB 속도 올리기 - Index
* MongoDB는 컬렉션 당 최대 64개의 인덱스만 생성 가능
* 너무 많은 인덱스를 추가하면, 오히려 side effects가 발생한다.
* Frequent Swap -> 몽고DB는 인데스를 메모리에 올려놓음.
* Write Performance 감소 -> Read Performance에 영향
Index Prefix를 사용하자 => !!
sorting 순서 맞추자!
하나의 컬렉션이 너무 많은 문서를 가질 경우, 인덱스 사이즈가 증가하고 인덱스 필드의 cardinality가 낮아질 가능성이 높다.
이는 lookup per
한 컬렉션에 너무 많은 문서가 있으면 반스디 컬렉션을 나눠서 query process..
쓰레드를 이용해 대량의 Document upsert
non-blocking secondary read기능
미운 인덱스
인덱스가 너무 많으면 쿼리 플래너가 어떤 인덱스를 선택해야 할 지 몰라서 오히려 느려지는 경우가 있다.
explain 해보기 key exmined 8000,9000건 이하로 유지해야함. hint옵션 - 강제로 인덱스를 태우는 옵션!!!!
db.concert.count({
serviceCode: {$in: [2,3]},
startDate: {$lte: 20190722},
endDate: {$gte: 20190722},
{hint: "serviceCode_1_startDate_1_endDate_e_1"}
Backgroud Index
몽고DB는 인덱스를 생성할 때 해당 컬렉션이 포함된 DB에 lock 이 걸린다.
Compact
디스크 공간 확보 - 메인터넌스 기간에만 ..수행
Balancer
Chunk Migration
Clustered Index
Clustered Index가 없어서, Clustered Index 활용 X
Unique Index
인덱스가 local 기반이라, 각 shard 별로 유니크 함
AuthenticationRestrictions 기능 사용 ..
'DB, MW' 카테고리의 다른 글
[DB] Primary Key 이란? (0) | 2021.12.02 |
---|---|
[Kafka] 카프카 옵션 셋팅 (0) | 2020.03.04 |
[Kafka] 커밋과 오프셋 (0) | 2020.03.03 |
카프카(kafka) docker 설정 (0) | 2020.02.28 |
댓글