다중 영역 복제 기능을 발표하게 되어 기쁩니다. 활성화되면 데이터가 여러 가용 영역에 복제됩니다. 다중 영역 복제는 고가용성과 더 나은 확장성을 제공합니다.
고가용성
다중 영역 데이터베이스는 서로 다른 영역에서 실행되는 데이터베이스 복제본이 있기 때문에 오류에 대한 복원력이 뛰어납니다. 즉, 가용성 영역을 사용할 수 없는 경우에도 요청이 정상 영역으로 리디렉션되므로 애플리케이션이 영향을 받지 않아야 합니다. 단일 영역 데이터베이스의 장애 조치 시간은 몇 분이고 다중 영역 데이터베이스의 경우 몇 초입니다.
확장성 향상
다중 영역 데이터베이스에서 요청은 라운드 로빈 방식으로 복제본에 분산됩니다. 높은 처리량 요구 사항을 충족하기 위해 새 복제본이 클러스터에 추가됩니다.
아키텍처
우리는 단일 리더 복제 모델을 사용합니다. 각 키는 리더 복제본이 소유하고 다른 복제본은 리더의 백업이 됩니다. 키에 대한 쓰기는 먼저 리더 복제본에서 처리된 다음 백업 복제본으로 전파됩니다. 일관성 구성에 따라 모든 복제본 또는 리더에서 읽기를 수행할 수 있습니다. 이 모델은 더 나은 쓰기 일관성과 읽기 확장성을 제공합니다.
각 복제본은 실패 감지기를 사용하여 리더 복제본의 활성을 추적합니다. 리더 레플리카가 어떤 이유로 실패하면 나머지 레플리카는 새로운 리더 선출 라운드를 시작하고 새로운 리더를 선출한다. 이것은 귀하의 요청이 단기간 동안 차단될 수 있는 클러스터에 대한 유일한 비가용 기간입니다.
일관성
두 가지 일관성 모드가 있습니다. 최종적이고 강한 일관성. 최종 일관성 모드 사용; 쓰기 요청은 리더 복제본이 작업을 처리한 후 반환됩니다. 쓰기 작업은 백업 복제본에 비동기식으로 복제됩니다. 읽기 요청은 모든 복제본에서 처리할 수 있으므로 수평 확장성이 향상되지만 동일한 키에 대한 쓰기 작업이 백업 복제본으로 전파되는 동안 읽기 요청이 오래된 값을 반환할 수도 있습니다.
강력한 일관성 모드 사용 쓰기 요청에 대한 응답은 하나 이상의 백업 복제본이 리더 복제본 외에 쓰기 작업을 처리한 후에만 클라이언트에 반환됩니다.
또한 강력한 일관성 모드는 응답을 반환하기 전에 쓰기가 디스크에 동기화되도록 보장합니다. 승인을 받으면 클라이언트는 리더 복제본이 실패하더라도 데이터가 안전하다고 가정할 수 있습니다. 읽기 요청은 리더 복제본에 의해서만 처리되며, 이는 더 강력한 일관성을 제공하지만 클러스터의 확장성을 감소시킵니다.
업그레이드
Upstash 콘솔에서 데이터베이스에 대한 다중 영역 복제를 활성화할 수 있습니다. 복제 모델 덕분에 가동 중지 시간이 없습니다. 마이그레이션하는 동안 성능이 약간 저하될 수 있습니다. 마이그레이션은 데이터베이스 크기에 따라 몇 초에서 몇 분까지 완료됩니다.
가격
증가된 인프라 비용으로 인해 다중 영역 데이터베이스의 가격이 더 높아집니다. 요청 100,000건당 0.4 USD, GB당 0.5 USD입니다.