320x100
320x100

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 

https://www.baeldung.com/cs/distributed-systems-guide

300x250
728x90