Apache Cassandra
: eventual consistent database (궁극적 일관성)
: 파티션 기반의 Wide Column 저장소 모델을 활용
: multi-master data replication
: 높은 가용성과 짧은 지연시간
: 단일 장애 지점이 없음
MongoDB
: 도큐먼트 기반 데이터베이스
: 레플리카 집합의 구성원이 모든 요청을 처리
: Shard key 선택이 데이터베이스 성능에 영향을 미침
: 프라이머리 노드와 세컨더리 노드 개념 존재 (세컨드는 프라이머리 부재시 프라이머리 역할 수행)
Redis
: 데이터베이스, 캐시, 메시지 브로커로 사용할 수 있는 오픈소스 데이터 스토어
: 가용성과 성능을 Consistency 보다 중시
: 마스터-슬래이브 아키텍처 사용
: 마스터 노드가 클라이언트의 write 요청을 처리
: 다양한 샤딩 메커니즘 지원
: Redis 클러스터의 모든 노드는 TCP 버스로 연결됨
Kafka
: 이벤트 publish 및 subscribe
: 이벤트 스트림을 견고하고 신뢰할 수 있게 저장
: 가용성과 높은 일관성을 제공
: ZooKeeper를 사용하여 파티션 위치와 같은 메타데이터를 저장함
: 모든 동기화된 레플리카가 Write를 받기 전까지 Write가 커밋되지 않은 것으로 간주
핵심개념
- multi-master
- consistent hashing
- gossip protocol
- eventual consistency
- SPOF
- reconciliation (Last-Write-Wins, CRDTs 등등)
- strong consistency
- hashed sharing
- ranges sharing
- primary & secondary / master & slave
- majority acknowledgement
- zoning
- leader-election
- pub/sub
추가로 공부하면 좋은 개념
- Quorum
- Consensus Algorithm
- Checksum
- Linearizability
- Write/Read Repair
- Split Brain Issue
- Load Balancing
- Hot Spots
- CAP Theorem
Reference
https://careerly.co.kr/comments/86021?utm_campaign=user-share
'Database > Database' 카테고리의 다른 글
분류로 보는 DBMS (0) | 2023.11.07 |
---|---|
레디스 VS 엘라스틱 서치 (Redis vs ElasticSearch) (0) | 2023.08.20 |
데이터 내구성을 보장하는 방법 (0) | 2023.08.19 |
테이블 설계를 위한 15가지 팁 (0) | 2023.08.13 |
데이터베이스를 고를 때 고려해야 하는 요소 (0) | 2023.05.29 |