복제 방식에는 크게 두 가지가 있음1. 리더-팔로워 복제리더가 모든 쓰기를 처리함.팔로워는 리더의 데이터를 따라감.대부분의 데이터베이스가 이 방식을 씀.읽기를 팔로워로 분산하면 성능은 좋아짐.근데 리더 장애 시 복구가 어려울 수 있음.또 팔로워의 데이터가 최신이 아닐 수도 있었음.2. 멀티리더 복제여러 노드가 동시에 쓰기 처리함.충돌이 발생할 수 있음.충돌 해결 정책이 필요했음.지리적으로 분산된 시스템에서 유용함.3. 리더 없는 복제모든 노드가 동등하게 읽기/쓰기 처리함.높은 가용성을 가짐.일관성 유지가 어려움.애플리케이션이 충돌을 감수하거나 직접 해결해야 했음.복제를 하면 생기는 문제도 있었음. • 복제 지연 때문에 읽었을 때 최신 데이터가 아닐 수 있었음. • 팔로워가 리더보다 뒤처질 수 있었음. •..
1. 파티셔닝이란?파티셔닝은 데이터를 여러 파티션 또는 샤드로으로 나누어 저장하는 방법입니다. 각 파티션은 독립적인 저장소이자 처리 단위가 되어, 분산 시스템에서 데이터 작업을 병렬로 수행할 수 있게 해준다.예:트위터는 유저 ID 기준으로 트윗을 파티셔닝하여 수억 명의 사용자 트윗을 분산 저장MySQL의 샤딩된 테이블은 서로 다른 서버에 분산되어 트래픽을 나눔2. 파티셔닝 키 (Partitioning Key) 선택파티셔닝에서 가장 중요한 결정은 어떤 필드를 기준으로 데이터를 나눌 것인지입니다. 이 필드를 샤딩 키라고 부른다.좋은 파티셔닝 키의 조건:균등 분산: 특정 키에 데이터가 몰리지 않아야 함쿼리 효율성: 자주 조회되는 쿼리가 해당 키로 빠르게 조회 가능해야 함불변성: 파티셔닝 키는 한 번 저장된 후..