https://db-engines.com/en/ranking -> DB엔진 랭킹 사이트(monthly단위로 확인 가능)
사용량은 아니고, Stackoverflow 같은 검색어 질의를 Summary한 랭킹
사람들이 많이 사용? 조회? 하는 DB 순서 랭킹
DBMS의 종류별로 확인 가능.
Relational DBMS (Oracle / MySQL / Mssql / Hive / Spark SQL ...)
Key-value stores (Redis / Amazon DynamoDB / Memcaches / Ehcache ...)
Document stores (MongoDB / Amazon DynamoDB / Couchbase ...)
Search engines (Elasticsearch / Splunk / Solr ....)
Replica(복제) : 여러 대의 서버로 데이터를 실시간으로 복제 / Secondary 서버를 통해 읽기 부하 분산 가능 / Raft, Paxos Consensus 알고리즘
Sharding(샤딩) : 많은 양의 데이터를 여러 대의 서버에 나누어 저장 / 수평적 확장 가능
몽고DB는 DB서버를 여러대만들어서 데이터를 분산하는 Scale out 방식으로 샤딩이 가능함.
몽고DB Replication 참고 사이트 ( https://kayjayworld.tistory.com/6 )
Chunk : 샤드키 기준으로 나뉘어진 데이터의 조각?
QueryRouting(쿼리라우팅): 쿼리 라우팅 방법은 동일한 분산 파일 시스템을 사용하고 해당 메타데이터를 공유하는 복수의 쿼리 수행 엔진들과 연동 가능한 쿼리 라우팅 서버에서 수행되고, 사용자로부터 쿼리 및 쿼리 수행 엔진 결정 기준을 수신하는 단계 -> 쿼리 수행 엔진 결정 기준을 기초로 복수의 쿼리 수행 엔진들 중 하나를 결정하는 단계.
CheckPoint(체크포인트): 트랜잭션로그 변경이 기록되면 클라이언트는 ACK를 받고, DBMS는 buffer pool의 변경사항을 disk에 background 작업으로 기록한다. Async 작업으로 이를 check point라고 부른다.
DirtyPoint(더티포인트): 메모리 버퍼에는 기록이 되었으나, 메모리에는 기록되지 않은것을 dirty point라고 부른다.
HazardPoint: Bufferpool 공간은 유한하므로 참조되지 않은 오래된 데이터 순으로 데이터가 제거될때 특정 buffer pool의 데이터를 지우지 못하도록 보호하는 역할.
CacheEviction(캐시 이빅션): 공유 캐시를 스캔하여 오래 사용하지 않은 캐시 삭제
oplog(저널로그?): 어느 로그 라인까지 데이터 disk 페이지에 저장했는지 기록하고 있다. Daemon에 문제가 생겨도 데이터는 유실되지 않록 돕는 역할.
컨센서스 알고리즘 (Raft 모델 / Poxos 모델)
'데이터베이스(DA, AA, TA) > NoSQL' 카테고리의 다른 글
[엘라스틱서치] Elasticsearch in action 정리(1) (2) | 2019.05.06 |
---|---|
[데이터베이스] mongoDB 샤딩 (0) | 2018.10.01 |
[ELK] 엘라스틱서치 배우기 - 검색API (0) | 2018.07.21 |
[ELK] 엘라스틱서치 배우기 (0) | 2018.07.18 |
[NoSQL] NoSQL 구조 및 특징 (0) | 2017.12.30 |