이 페이지에서는 Spanner에서 사용할 수 있는 다양한 유형의 인스턴스 구성과 그 차이점 및 장단점에 대해 설명합니다.
인스턴스 구성
Spanner 인스턴스 구성은 해당 인스턴스에서 데이터베이스의 지리적 위치와 복제를 정의합니다. 인스턴스를 만들 때 인스턴스를 리전, 이중 리전 또는 멀티 리전으로 구성해야 합니다. 인스턴스 구성을 선택하여 구성할 리전 유형을 선택합니다. 이 선택으로 해당 인스턴스의 데이터가 저장되는 위치가 결정됩니다.
- 리전 구성: 모든 리소스가 단일 Google Cloud 리전 내에 있음
- 이중 리전 구성: 모든 리소스가 두 리전을 확장하며 단일 국가 내에 있음(Enterprise Plus 버전에서 사용 가능)
- 멀티 리전 구성: 리전이 2개 이상인 리소스(Enterprise Plus 버전에서 사용 가능)
고정된 리전과 복제 토폴로지가 있는 인스턴스 구성을 기본 인스턴스 구성이라고 합니다. 커스텀 인스턴스 구성을 만들고 선택적 읽기 전용 복제본을 추가할 수 있습니다(Enterprise 버전 및 Enterprise Plus 버전에서 사용 가능). 기본 인스턴스 구성의 복제 토폴로지를 변경할 수 없습니다. 자세한 내용은 읽기 전용 복제본을 참조하세요.
모든 인스턴스 구성에서 다른 리전, 이중 리전, 또는 멀티 리전 인스턴스 구성으로 인스턴스를 이동할 수 있습니다(예: us-central1
에서 nam3
로 이동). 또한 추가 복제본이 있는 새 커스텀 인스턴스 구성을 만든 후 인스턴스를 새 커스텀 인스턴스 구성으로 이동할 수 있습니다. 예를 들어 인스턴스가 us-central1
에 있고 읽기 전용 복제본 us-west1
을 추가하려는 경우 us-central1
을 기본 구성으로 사용하고 us-west1
을 읽기 전용 복제본으로 추가한 새로운 커스텀 인스턴스 구성을 만들어야 합니다. 그런 후 이 새로운 커스텀 인스턴스 구성으로 인스턴스를 이동합니다.
리전 구성
Google Cloud 서비스는 북미, 남미, 유럽, 아시아, 오스트레일리아의 여러 위치에서 제공됩니다. 사용자와 서비스가 단일 리전 내에 있으면 읽기 및 쓰기 지연 시간이 가장 짧은 리전 인스턴스 구성을 선택합니다.
기본 리전 구성에 관계없이 Cloud Spanner는 리전 내 다른 Google Cloud 영역마다 읽기-쓰기 복제본 세 개를 유지합니다. 각 읽기-쓰기 복제본에는 읽기-쓰기 및 읽기 전용 요청을 처리할 수 있는 운영 데이터베이스의 전체 복사본이 있습니다. Spanner는 여러 영역에서 복제본을 사용하므로 단일 영역에 장애가 발생해도 데이터베이스를 계속 사용할 수 있습니다.
사용 가능한 구성
Spanner는 다음과 같은 기본 리전 인스턴스 구성을 제공합니다.
기본 구성 이름 | 리전 설명 | 선택적 리전 | |
---|---|---|---|
미주 | |||
northamerica-northeast1 |
몬트리올 낮은 CO2 | ||
northamerica-northeast2 |
토론토 낮은 CO2 | ||
southamerica-east1 |
상파울루 낮은 CO2 | ||
southamerica-west1 |
산티아고 낮은 CO2 | ||
us-central1 |
아이오와 낮은 CO2 | 읽기 전용: asia-northeast1 1-OR asia-south1 1-OR europe-west2 1-OR europe-west9 1-OR us-west3 1-OR |
|
us-east1 |
사우스캐롤라이나 | 읽기 전용: us-central1 1-OR us-west1 1-OR |
|
us-east4 |
북버지니아 | ||
us-east5 |
콜럼버스 | ||
us-south1 |
댈러스 낮은 CO2 | ||
us-west1 |
오리건 낮은 CO2 | ||
us-west2 |
로스앤젤레스 | ||
us-west3 |
솔트레이크시티 | ||
us-west4 |
라스베이거스 | ||
유럽 | |||
europe-central2 |
바르샤바 | ||
europe-north1 |
핀란드 낮은 CO2 | ||
europe-southwest1 |
마드리드 낮은 CO2 | ||
europe-west1 |
벨기에 낮은 CO2 | 읽기 전용: us-central1 1-OR us-west1 1-OR |
|
europe-west2 |
런던 낮은 CO2 | ||
europe-west3 |
프랑크푸르트 낮은 CO2 | ||
europe-west4 |
네덜란드 낮은 CO2 | ||
europe-west6 |
취리히 낮은 CO2 | ||
europe-west8 |
밀라노 | ||
europe-west9 |
파리 낮은 CO2 | ||
europe-west10 |
베를린 낮은 CO2 | ||
europe-west12 |
토리노 | ||
아시아 태평양 | |||
asia-east1 |
타이완 | ||
asia-east2 |
홍콩 | ||
asia-northeast1 |
도쿄 | ||
asia-northeast2 |
오사카 | ||
asia-northeast3 |
서울 | ||
asia-south1 |
뭄바이 | ||
asia-south2 |
델리 | ||
asia-southeast1 |
싱가포르 | ||
asia-southeast2 |
자카르타 | ||
australia-southeast1 |
시드니 | ||
australia-southeast2 |
멜버른 | ||
중동 | |||
me-central1 |
도하 | ||
me-central2 |
Dammam | ||
me-west1 |
텔아비브 | ||
아프리카 | |||
africa-south1 |
요하네스버그 |
복제
기본 리전 구성에는 읽기-쓰기 복제본 3개가 포함됩니다. 모든 Spanner 변형에는 다수의 응답 복제본으로 구성된 쓰기 쿼럼이 있어야 합니다. 쓰기 쿼럼은 리전 구성의 복제본 3개 중 2개로 구성됩니다. 리더 리전과 응답 복제본에 대한 자세한 내용은 복제를 참조하세요.
커스텀 리전 인스턴스 구성을 만들고 선택적 읽기 전용 복제본을 추가할 수 있습니다. 읽기 전용 복제본은 읽기를 확장하고 지연 시간이 짧은 비활성 읽기를 지원합니다. 이러한 읽기 전용 복제본은 쓰기 쿼럼에 참여하지 않으며 리전 인스턴스의 Spanner >= 99.99% SLA에 영향을 미치지 않습니다. 선택적 리전 열에 나열된 위치를 선택적 읽기 전용 복제본으로 추가할 수 있습니다. 선택한 읽기 전용 복제본 위치가 표시되지 않는 경우 새로운 선택적 읽기 전용 복제본 리전을 요청할 수 있습니다. 자세한 내용은 읽기 전용 복제본을 참조하세요.
리전 구성 성능 권장사항
최적의 성능을 위해 다음 권장사항을 따르세요.
- 핫스팟 및 기타 성능 문제를 방지하는 스키마를 설계합니다.
- 중요한 컴퓨팅 리소스를 Spanner 인스턴스와 같은 리전에 배치합니다.
- 컴퓨팅 용량을 충분히 프로비저닝하여 우선순위가 높은 총 CPU 사용률을 65% 미만으로 유지합니다.
- Spanner 노드당 처리량에 관한 자세한 내용은 리전 구성 성능을 참조하세요.
이중 리전 구성
이중 리전 구성을 사용하면 인스턴스 구성에서 정의한 대로 단일 국가의 두 리전의 여러 영역에 데이터베이스의 데이터를 복제할 수 있습니다.
이중 리전 구성은 다음을 실행합니다.
- 단일 국가의 두 리전에서 읽기를 제공합니다.
- 리전 구성보다 높은 가용성 및 SLA 제공
- 데이터 상주 요구사항을 충족합니다.
Spanner는 오스트레일리아, 독일, 인도, 일본에서 이중 리전 구성을 제공합니다.
Spanner 노드당 처리량에 대한 자세한 내용은 이중 리전 구성 성능을 참조하세요.
사용 가능한 구성
Spanner는 다음과 같은 기본 이중 리전 인스턴스 구성을 제공합니다.
기본 구성 이름 | 리소스 위치 | 리전 |
---|---|---|
dual-region-australia1 |
au(오스트레일리아) | 시드니: australia-southeast1 L,2RW+1W 멜버른: australia-southeast2 2RW+1W |
dual-region-germany1 |
de(독일) | 베를린: europe-west10 L,2RW+1W 프랑크푸르트: europe-west3 2RW+1W |
dual-region-india1 |
in(인도) | 뭄바이: asia-south1 L,2RW+1W 델리: asia-south2 2RW+1W |
dual-region-japan1 |
jp(일본) | 도쿄: asia-northeast1 L,2RW+1W 오사카: asia-northeast2 2RW+1W |
이점
이중 리전 인스턴스는 다음과 같은 주요 이점을 제공합니다.
99.999% 가용성: 동일한 국가의 두 리전에서 제공되며 Spanner 리전 구성이 제공하는 99.99% 가용성보다 높습니다.
데이터 분산: strong consistency를 보장하며 두 리전 간에 데이터를 자동으로 복제합니다.
데이터 상주 요구사항: 이중 리전 사용 가능한 구성에 나열된 국가의 데이터 상주 요구사항을 충족합니다.
복제
이중 리전에는 각 리전당 3개씩 총 6개의 복제본이 포함됩니다. 리전 중 하나가 기본 리더 리전으로 지정됩니다(이전 표 참고). 데이터베이스의 리더 리전을 변경할 수 있습니다. 각 리전에는 읽기-쓰기 복제본 2개와 감시 복제본 1개가 있습니다. 두 리전이 모두 정상적으로 작동하고 이중 리전 구성에서 실행 중인 경우 6개의 모든 복제본에 쿼럼이 설정됩니다. 각 리전의 복제본이 2개 이상 있어야 쿼럼을 구성하고 트랜잭션을 커밋할 수 있습니다.
장애 조치 및 장애 복구
이중 리전 구성을 만든 후에는 시스템 통계 대시보드에서 이중 리전 쿼럼 가용성 측정항목을 볼 수 있습니다. 이 측정항목은 이중 리전 구성에서만 사용할 수 있습니다. 세 개 쿼럼의 상태를 보여줍니다.
- 다음 코드명을 사용하는 이중 리전 쿼럼:
- 오스트레일리아의
au
- 독일의
de
- 인도의
in
- 일본의
asia1
- 오스트레일리아의
- 각 리전의 단일 리전 쿼럼(예:
asia-south1
및asia-south2
)
이 측정항목에는 정상 또는 중단 모드에 있는 리전을 보여주는 쿼럼 가용성 드롭다운이 있습니다.
이중 리전 쿼럼 가용성 측정항목을 사용하면 리전 장애 발생 시 자체 관리형 장애 조치 시점을 결정할 수 있습니다. 자체 관리형 장애 조치는 일반적으로 1분 이내에 완료됩니다. 장애 조치 및 장애 복구를 수동으로 수행하려면 이중 리전 쿼럼 변경을 참조하세요. 또한 Spanner는 Google에서 관리하는 자동 장애 조치를 지원하며, 장애가 처음 인식된 시점부터 최대 45분 정도 걸릴 수 있습니다.
장애 조치 및 장애 복구 결정을 내릴 때 다음 사항을 고려하세요.
세 개의 쿼럼이 모두 정상이면 별도의 조치가 필요하지 않습니다.
리전 중 하나에 중단이 표시되면 리전 서비스 중단이 발생했을 가능성이 큽니다. 이로 인해 이중 리전 쿼럼에서 실행되는 데이터베이스의 가용성이 저하될 수 있습니다. 쿼럼을 설정할 수 없고 트랜잭션이 결국 시간 초과되기 때문에 쓰기가 실패할 수도 있습니다. 시스템 통계 대시보드를 사용하여 데이터베이스의 오류율과 지연 시간을 관찰합니다. 오류율 또는 지연 시간이 증가하면 failover를 하는 것이 좋습니다. 즉, 이중 리전 쿼럼을 이중 리전에서 여전히 정상인 리전으로 변경합니다. 중단된 리전이 다시 정상이 되면 장애 복구를 수행하여 이중 리전 쿼럼을 단일 리전에서 이중 리전으로 변경해야 합니다. Google은 리전 서비스 중단을 인식하면 자동으로 장애 조치 및 장애 복구를 수행합니다. 서비스 중단을 인식하면 수동으로 전환할 수도 있습니다. 그러나 수동 장애 조치를 실행한 경우 수동으로 장애 복구해야 합니다.
두 개의 단일 리전이 모두 정상임에도 불구하고 이중 리전 쿼럼에 중단이 표시되면 네트워크 파티셔닝 문제가 있는 것입니다. 두 리전이 더 이상 서로 통신할 수 없으므로 전체 시스템이 정상이 아니더라도 각각 정상으로 표시됩니다. 이 시나리오에서는 기본 리더 리전으로 장애 조치하는 것이 좋습니다. 네트워크 파티션 문제가 해결되고 이중 리전 쿼럼이 정상으로 돌아온 후에는 수동으로 장애 조치해야 합니다.
이중 리전은 지역 서비스 중단 또는 네트워크 파티션 문제가 발생할 때 데이터가 손실되지 않으므로 복구 지점 목표(RPO)가 0입니다.
이중 리전 쿼럼의 모드(단일 또는 이중)를 확인하려면 이중 리전 쿼럼 확인을 참조하세요.
장애 조치 및 장애 복구 권장사항
장애 조치 및 장애 복구 권장사항은 다음과 같습니다.
- 리전 장애 또는 서비스 중단이 발생하지 않으면 단일 리전으로 장애 조치하지 마세요. 단일 리전으로 장애 조치하면 해당 단일 리전이 장애가 발생할 경우 전반적인 시스템을 사용할 수 없게 될 가능성이 높아집니다.
- 장애 조치할 리전을 선택할 때는 주의하세요. 장애 조치할 리전을 잘못 선택하면 데이터베이스를 사용할 수 없게 되며 리전이 다시 온라인 상태로 전환되기 전에는 복구할 수 없습니다. 이를 확인하려면 장애 조치를 수행하기 전에 bash 스크립트를 사용하여 단일 리전의 상태를 확인할 수 있습니다.
- 비정상적인 리전이 기본 리더 리전인 경우 장애 조치를 수행한 후 기본 리더 리전을 장애 조치 리전으로 변경합니다. 두 리전이 모두 다시 정상적으로 작동하는지 확인한 후 장애 복구를 수행한 다음 리더 리전을 원래 리더 리전으로 다시 변경합니다.
- 수동 장애 조치를 수행한 경우 수동으로 장애 복구해야 합니다.
제한사항
커스텀 이중 리전 인스턴스 구성을 만들 수 없습니다. 읽기 전용 복제본은 이중 리전 인스턴스 구성에 추가할 수 없습니다.
멀티 리전 구성
Spanner 리전 구성은 단일 리전 내 여러 영역 사이에 데이터를 복제합니다. 하지만 다음과 같은 경우에는 리전 구성이 적합하지 않을 수 있습니다.
- 애플리케이션에서 여러 지리적 위치의 데이터를 자주 읽어야 하는 경우(예를 들어 북미 및 아시아의 사용자 모두에게 데이터를 제공)
- 쓰기와 읽기가 다른 위치에서 발생하는 경우(예를 들어 북미에는 대량의 쓰기 워크로드가 있고 유럽에는 대량의 읽기 워크로드가 있는 경우)
멀티 리전 구성은 다음을 수행할 수 있습니다.
- 여러 리전에서 쓰기 제공
- 리전 장애 발생 시 가용성 유지
- 리전 구성보다 높은 가용성 및 SLA 제공
멀티 리전 구성을 사용하면 인스턴스 구성에서 정의한 대로 데이터베이스의 데이터를 여러 리전의 여러 영역에 복제할 수 있습니다. 이러한 추가 복제본을 사용하면 구성에 포함된 리전에서 가까운 여러 위치나 리전 내 여러 위치에서 짧은 지연 시간으로 데이터를 읽을 수 있습니다.
하지만 절충해야 하는 부분도 있습니다. 이는 멀티 리전 구성에서는 쿼럼(읽기-쓰기) 복제본이 리전 2개 이상에 분산되어 있기 때문입니다. 이러한 복제본이 서로 통신하여 쓰기 쿼럼을 구성할 때 추가 네트워크 지연 시간이 발생할 수 있습니다. 읽기에는 쿼럼이 필요하지 않습니다. 그 결과 쓰기 지연 시간에서 비용이 약간 증가하지만 애플리케이션이 더 많은 위치에서 읽기를 빠르게 수행할 수 있습니다. 자세한 내용은 쓰기 및 읽기에서 복제본 역할을 참조하세요.
사용 가능한 구성
Spanner는 다음과 같은 기본 멀티 리전 인스턴스 구성을 제공합니다.
대륙 1개
기본 구성 이름 | 리소스 위치 | 읽기-쓰기 리전 | 읽기 전용 리전 | 감시 리전 | 선택적 리전 |
---|---|---|---|---|---|
asia1 |
asia1 | 도쿄: asia-northeast1 L,2R 오사카: asia-northeast2 2R |
없음 | 서울: asia-northeast3 |
읽기 전용: us-west1 1-OR us-east5 1-OR |
asia2 A |
asia2 | 뭄바이: asia-south1 L,2R 델리: asia-south2 2R 싱가포르: asia-southeast1 1R |
없음 | 없음 | |
eur3 |
eur3 | 벨기에: europe-west1 L,2R 네덜란드: europe-west4 2R |
없음 | 핀란드: europe-north1 |
|
eur5 |
eur5 | 런던: europe-west2 L,2R 벨기에: europe-west1 2R |
없음 | 네덜란드: europe-west4 |
읽기 전용: us-central1 1-OR us-east1 1-OR |
eur6 |
eur6 | 네덜란드: europe-west4 L,2R 프랑크푸르트: europe-west3 2R |
없음 | 취리히: europe-west6 |
읽기 전용: us-east1 2-OR |
nam3 |
nam3 | 북 버지니아: us-east4 L,2R 사우스캐롤라이나: us-east1 2R |
없음 | 아이오와: us-central1 |
읽기 전용: us-west2 1-OR asia-southeast1 1-OR asia-southeast2 1-OR europe-west1 1-OR europe-west2 1-OR |
nam6 |
nam6 | 아이오와: us-central1 L,2R 사우스캐롤라이나: us-east1 2R |
오리건: us-west1 1R 로스앤젤레스: us-west2 1R |
오클라호마: us-central2 |
|
nam7 |
nam7 | 아이오와: us-central1 L,2R 북 버지니아: us-east4 2R |
없음 | 오클라호마: us-central2 |
읽기 전용: us-east1 2-OR us-south1 1-OR europe-west1 2-OR |
nam8 |
nam8 | 로스앤젤레스: us-west2 L,2R 오리곤: us-west1 2R |
없음 | 솔트레이크시티: us-west3 |
읽기 전용: asia-southeast1 2-OR europe-west2 2-OR |
nam9 |
nam9 | 북 버지니아: us-east4 L,2R 아이오와: us-central1 2R |
오리건: us-west1 2R |
사우스캐롤라이나: us-east1 |
|
nam10 |
nam10 | 아이오와: us-central1 L,2R 솔트레이크시티: us-west3 2R |
없음 | 오클라호마: us-central2 |
|
nam11 |
nam11 | 아이오와: us-central1 L,2R 사우스캐롤라이나: us-east1 2R |
없음 | 오클라호마: us-central2 |
읽기 전용: us-west1 1-OR |
nam12 |
nam12 | 아이오와: us-central1 L,2R 북 버지니아: us-east4 2R |
오리건: us-west1 2R |
오클라호마: us-central2 |
|
nam13 |
nam13 | 오클라호마: us-central2 L,2R 아이오와: us-central1 2R |
없음 | 솔트레이크시티: us-west3 |
|
nam14 |
nam14 | 북 버지니아: us-east4 L,2R 몬트리얼: northamerica-northeast1 2R |
없음 | 사우스캐롤라이나: us-east1 |
|
nam15 |
nam15 | 댈러스: us-south1 L,2R 북 버지니아: us-east4 2R |
없음 | 아이오와: us-central1 |
|
nam16 |
us(미국) | 아이오와: us-central1 L,2R 북 버지니아: us-east4 2R |
없음 | 콜럼버스: us-east5 |
읽기 전용: us-west2 2-OR |
대륙 3개
기본 구성 이름 | 리소스 위치 | 읽기-쓰기 리전 | 읽기 전용 리전 | 감시 리전 | 선택적 리전 |
---|---|---|---|---|---|
nam-eur-asia1 |
nam-eur-asia1 | 아이오와: us-central1 L,2R 오클라호마: us-central2 2R |
벨기에: europe-west1 2R 타이완: asia-east1 2R |
사우스 캐롤라이나: us-east1 |
읽기 전용: us-west2 1-OR |
nam-eur-asia3 |
nam-eur-asia3 | 아이오와: us-central1 L,2R 사우스 캐롤라이나: us-east1 2R |
벨기에: europe-west1 1R 네덜란드: europe-west4 1R 타이완: asia-east1 2R |
오클라호마: us-central2 |
L: 기본 리더 리전입니다. 자세한 내용은 데이터베이스의 리더 리전 수정을 참조하세요.
1R: 리전의 복제본 1개입니다.
2R: 리전의 2개 복제본입니다.
2RW+1W: 리전의 읽기-쓰기 복제본 2개와 감시 복제본 1개입니다.
1-OR: 하나의 선택적인 복제본입니다. 커스텀 리전 인스턴스 구성을 만들고 하나의 선택적 읽기 전용 복제본을 추가할 수 있습니다. 자세한 내용은 커스텀 인스턴스 구성 만들기를 참조하세요.
2-OR: 최대 2개의 선택적인 복제본입니다. 커스텀 리전 인스턴스 구성을 만들고 선택적 읽기 전용 복제본을 1~2개 추가할 수 있습니다. 읽기 지연 시간을 낮게 유지하려면 2개(가능한 경우)를 추가하는 것이 좋습니다. 자세한 내용은 커스텀 인스턴스 구성 만들기를 참조하세요.
A: 이 인스턴스 구성은 허용 목록으로 제한됩니다. 액세스 권한을 얻으려면 기술계정 관리자에게 문의하세요.
멀티 리전 인스턴스 구성의 리소스 위치에 따라 구성의 재해 복구 영역 보장이 결정됩니다. 데이터가 저장되는 위치를 정의합니다.
이점
멀티 리전 인스턴스는 다음과 같은 주요 이점을 제공합니다.
99.999% 가용성: Spanner 리전 구성이 제공하는 99.99% 가용성보다 높습니다.
데이터 분산: Spanner는 strong consistency를 보장하며 리전 사이에 데이터를 자동으로 복제합니다. 따라서 데이터를 사용 위치에 저장하여 지연 시간을 줄이고 사용자 환경을 개선할 수 있습니다.
외부 일관성: 지리적으로 먼 위치에서 복제하더라도 Spanner를 단일 머신에서 실행되는 데이터베이스처럼 사용할 수 있습니다. 트랜잭션은 직렬화가 보장되며, 데이터베이스에서 트랜잭션 순서는 클라이언트가 커밋된 트랜잭션을 관찰하는 순서와 동일합니다. 외부 일관성은 일부 다른 제품에서 제공하는 'strong consistency'보다 더욱 강력한 보증입니다. TrueTime 및 외부 일관성에서 이 속성에 대해 자세히 알아보세요.
복제
각 기본 멀티 리전 구성에는 읽기-쓰기 리전으로 지정된 리전이 2개 있으며 각 리전에는 읽기-쓰기 복제본이 2개 있습니다. 이러한 읽기-쓰기 리전 중 하나는 기본 리더 리전으로 지정됩니다. 즉, 이 리전에 데이터베이스의 리더 복제본이 포함됩니다. Spanner는 감시 리전이라는 세 번째 리전에 감시 복제본도 배치합니다.
클라이언트에서 데이터베이스에 변형을 실행할 때마다 쓰기 쿼럼이 형성됩니다. 이 쿼럼은 기본 리더 리전의 복제본 중 1개와 추가 응답 복제본 4개 중 2개로 구성됩니다. (쿼럼은 응답에 참여하는 다른 복제본에 따라 구성에 포함된 2개 또는 3개 리전의 복제본으로 형성될 수도 있습니다.) 일부 기본 멀티 리전 구성에는 이러한 5개의 응답 복제본 외에도 지연 시간이 짧은 읽기를 제공하기 위한 읽기 전용 복제본이 포함됩니다. 읽기 전용 복제본이 있는 리전을 읽기 전용 리전이라 합니다.
일반적으로 멀티 리전 구성의 응답 리전은 지리적으로 가까운(1,000마일 미만) 곳에 배치되어 빠르게 쓸 수 있고 지연 시간이 짧은 쿼럼을 형성합니다(자세히 알아보기). 그러나 리전들은 조정 오류를 방지하기 위해 충분히 멀리(일반적으로 최소 수백 마일) 떨어져 있습니다. 또한 클라이언트 애플리케이션이 리더가 아닌 리전에 있는 경우 Spanner는 데이터베이스의 지연 시간을 줄이기 위해 리더 인식 라우팅을 사용하여 읽기-쓰기 트랜잭션을 동적으로 라우팅합니다. 자세한 내용은 리더 인식 라우팅을 참조하세요.
선택적 읽기 전용 복제본을 사용하여 커스텀 멀티 리전 인스턴스 구성을 만들 수 있습니다. 내가 만든 커스텀 읽기 전용 복제본은 쓰기 쿼럼에 포함할 수 없습니다. 선택적 리전 열에 나열된 위치를 선택적 읽기 전용 복제본으로 추가할 수 있습니다. 선택한 읽기 전용 복제본 위치가 표시되지 않는 경우 새로운 선택적 읽기 전용 복제본 리전을 요청할 수 있습니다. 자세한 내용은 읽기 전용 복제본을 참조하세요.
멀티 리전 구성 성능 권장사항
최적의 성능을 위해 다음 권장사항을 따르세요.
- 핫스팟 및 기타 성능 문제를 방지하는 스키마를 설계합니다.
- 최적의 쓰기 지연 시간을 위해서는 쓰기가 많은 워크로드의 컴퓨팅 리소스를 기본 최적 리전 내 또는 가까이 배치합니다.
- 기본 최적 리전 외부에서 최적의 읽기 성능을 얻으려면 최소 15초의 비활성을 사용합니다.
- 워크로드가 한 리전에만 의존하지 않도록 하려면 중요 컴퓨팅 리소스를 둘 이상의 리전에 배치합니다. 올바른 옵션은 모든 단일 리전 중단이 애플리케이션 모두에 영향을 주지 않도록 2개의 서로 다른 읽기-쓰기 리전 옆에 배치하는 것입니다.
- 컴퓨팅 용량을 충분히 프로비저닝하여 각 리전에서 우선순위가 높은 총 CPU 사용률을 45% 미만으로 유지합니다.
- Spanner 노드당 처리량에 대한 자세한 내용은 멀티 리전 구성 성능을 참조하세요.
인스턴스 이동
Spanner 인스턴스를 모든 인스턴스 구성에서 리전 구성과 멀티 리전 구성을 포함한 다른 인스턴스 구성으로 이동할 수 있습니다. 인스턴스를 이동해도 다운타임이 발생하지 않으며 Spanner는 이동 중에 strong consistency를 포함한 일반적인 트랜잭션 보장을 계속 제공합니다.
Spanner 인스턴스 이동에 대한 자세한 내용은 인스턴스 이동을 참조하세요.
기본 리더 리전 구성
애플리케이션 지연 시간을 줄이기 위해 연결 클라이언트에 더 가깝게 데이터베이스의 기본 리더 리전 위치를 변경하려면 이중 리전 또는 멀티 리전 구성을 사용하는 모든 Spanner 인스턴스의 리더 리전을 변경하면 됩니다. 리더 리전 위치를 변경하는 방법은 데이터베이스의 리더 리전 변경을 참조하세요. 데이터베이스의 기본 리더 리전이 될 수 있는 리전은 이중 리전 또는 멀티 리전 구성의 읽기-쓰기 리전뿐입니다.
리더 리전은 모든 데이터 베이스 쓰기를 처리하는 역할을 합니다. 따라서 대부분의 트래픽이 하나의 지리적 리전에서 유입되는 경우 리더 리전을 그 지리적 리전으로 이동하여 지연 시간을 줄일 수 있습니다. 기본 리더 리전 업데이트는 비용은 저렴하고 데이터 이동이 수반되지 않습니다. 새 값이 적용되는 데 몇 분 정도 걸립니다.
기본 리더 리전 변경은 장기 실행 작업을 사용하는 스키마 변경입니다. 필요한 경우 장기 실행 작업의 상태를 가져올 수 있습니다.
장단점: 리전 구성, 이중 리전 구성, 멀티 리전 구성 비교
구성 | 가용성 | 지연 시간 | 비용 | 데이터 위치 |
---|---|---|---|---|
리전 | 99.99% | 리전 내에서 쓰기 지연 시간을 줄입니다. | 낮은 비용. 가격을 참조하세요. | 지리적 데이터 거버넌스를 활성화합니다. |
이중 리전 | 99.999% | 두 지리적 리전에서 읽기 지연 시간이 줄고 쓰기 지연 시간이 약간 증가합니다. | 높은 비용. 가격을 참조하세요. | 단일 국가의 두 리전에 데이터를 분산합니다. |
멀티 리전 | 99.999% | 여러 지리적 리전에서 읽기 지연 시간이 줄고 쓰기 지연 시간이 약간 증가합니다. | 높은 비용. 가격을 참조하세요. | 구성 내 여러 리전에 데이터를 분산합니다. |
다음 단계
- Spanner 인스턴스를 만드는 방법 알아보기
- Google Cloud 리전 및 영역 자세히 알아보기