레플리케이션
: 분산 시스템에서는 여러 노드에 데이터가 복제된 것을 의미
: 높은 가용성과 시스템 확장성의 높은 퍼포먼스를 확보하기 위해 레플리케이션을 사용
- 방법
: 시스템에 장애가 생기더라도 데이터가 잘 보존되어 있도록 한다
: 카피한 데이터 중에 손실되거나 손상된 데이터가 있어도 다른 카피를 사용해서 복원이 가능해야한다
: 카피를 여러 노드에 저장한 다음 가장 가까운 노드에 있는 데이터를 읽고 쓴다
: 설계에 다라 고아 데이터가 발생할 수 있으므로 데이터를 지울때 데이터 클린업을 통해 모든 노드에서 데이터를 지워야 한다
- 데이터간 동기화
: 복제에서 중요한 개념
: Eventual Consistency와 Strong Consistency에 대해 공부하는 것을 권장
백업
- 중복성 (Redundancy)
: 중복성은 다양한 요인으로 인해 데이터 복사본이 손실되는 경우에도 데이터 복사본으로 복원해서 중요한 정보에 문제 없이 액세스 할 수 있도록 보장한다
- 자동 백업
: 특정 주기로 백업
- 증분 백업
: 마지막 백업이 발생한 후 발생한 데이터의 변경 사항만 백업
: 백업해야할 데이터양이 줄어 백업 속도가 빠르다
- 중요한 내용
: 라지 스케일의 시스템과 방대한 양의 데이터 업데이트가 일어나는 시스템의 경우, 모든 데이터를 일정 시간 내에 백업하는게 어려울 수 있으므로, 완전성과 성능 사이의 절충점이 필요
Write-Ahead Logging (WAL)
: 데이터를 먼저 로그에 기록한 후 데이터 스토어에 저장하는 방식
: 데이터 스토어에 커밋하는 중 데이터 손상이나 손실이 발생한 경우 로그에서 복원할 수 있음
Reference
'Database > Database' 카테고리의 다른 글
레디스 VS 엘라스틱 서치 (Redis vs ElasticSearch) (0) | 2023.08.20 |
---|---|
각종 스토리지를 통해 알아보는 분산 시스템 개념 (0) | 2023.08.19 |
테이블 설계를 위한 15가지 팁 (0) | 2023.08.13 |
데이터베이스를 고를 때 고려해야 하는 요소 (0) | 2023.05.29 |
파티셔닝 및 클러스터링으로 최적화하기 (0) | 2023.05.29 |