동적 크기 조정(지역별 및 파티션별 자동 크기 조정)
적용 대상: NoSQL MongoDB Cassandra Gremlin 테이블
Azure Cosmos DB 자동 크기 조정은 기본적으로 가장 활동적인 지역 및 파티션을 기반으로 워크로드 크기를 조정합니다. 지역 및 파티션 전반에 걸쳐 워크로드 패턴이 서로 다른 균일하지 않은 워크로드의 경우 이러한 스케일 업으로 인해 불필요한 스케일 업이 발생할 수 있습니다. "동적 스케일 인"이라고도 하는 자동 크기 조정 기능이 개선됨에 따라 이제 지역별 및 파티션별 자동 크기 조정 기능을 통해 워크로드의 지역 및 파티션을 사용량에 따라 독립적으로 스케일 인할 수 있습니다.
동적 크기 조정은 지역 및 파티션 전체에 걸쳐 균일하지 않은 자동 크기 조정 워크로드에 권장됩니다. 이 기능을 사용하면 핫 파티션이 자주 발생하거나 지역이 여러 개인 경우 비용을 절약할 수 있습니다. 동적 크기 조정을 사용하도록 설정하면 계정의 모든 자동 크기 조정 리소스에 적용됩니다.
사용 사례
- 트래픽이 많은 주 지역과 재해 복구를 위한 보조 수동 지역이 있는 데이터베이스 워크로드입니다.
- 동적 크기 조정을 사용하면 여러 지역에서 고가용성을 달성하는 것이 더 비용 효율적입니다. 보조 지역은 유휴 상태일 때 독립적으로 자동 축소됩니다. 또한 보조 지역은 활성화되고 주 지역에서 쓰기 복제 트래픽을 처리하는 동안 자동으로 크기 조정됩니다.
- 다중 지역 데이터베이스 워크로드.
- 이러한 워크로드는 하루 종일 자연스러운 트래픽 증가 및 감소로 인해 지역 간 요청 배포가 균등하지 않은 경우가 많습니다. 예를 들어, 데이터베이스는 전 세계적으로 분산된 표준 시간대에 걸쳐 업무 시간 동안 활성화될 수 있습니다.
예시
예를 들어, 1000RU/s 및 2 파티션으로 구성된 컬렉션이 있는 경우 각 파티션은 최대 500RU/s까지 가능합니다. 1시간 동안의 작업에 대한 사용률은 다음과 같습니다.
지역 | 파티션 | 처리량 | 사용률 | 주의 |
---|---|---|---|---|
쓰기 | P1 | <= 500 RU/s | 100% | 500RU/s는 쓰기 작업에 사용되는 50RU/s와 읽기 작업에 사용되는 450RU/s로 구성됩니다. |
쓰기 | P2 | <= 200 RU/s | 40% | 모든 읽기 작업으로 구성된 200RU/s. |
읽음 | P1 | <= 150 RU/s | 30% | 쓰기 지역에서 복제된 쓰기에 사용되는 50RU/s로 구성된 150RU/s입니다. 이 지역의 읽기 작업에는 100RU/s가 사용됩니다. |
읽음 | P2 | <= 50 RU/s | 10% |
모든 파티션은 가장 인기 있는 파티션을 기준으로 균등하게 크기 조정되므로 쓰기 및 읽기 영역이 모두 1000RU/s로 크기 조정되어 총 RU/s가 2000RU/s가 됩니다.
동적 크기 조정을 사용하면 처리량을 최적화할 수 있습니다. 각 파티션 또는 지역의 처리량이 독립적으로 크기 조정되고 동일한 시나리오를 사용하여 시간당 측정되므로 총 사용량은 900RU/s입니다.
동적 자동 크기 조정 모니터링
다음 메트릭을 사용하여 동적 자동 크기 조정을 모니터링할 수 있습니다.
메트릭 이름 | 정의 | 메트릭 사용량 |
---|---|---|
자동 크기 조정된 RU | 동적 자동 크기 조정을 사용하는 계정에 대해서만 각 파티션 및 지역 수준에서 동적으로 확장된 프로비저닝 처리량을 표시합니다. | 이 메트릭을 사용하면 각 지역의 파티션이 사용량에 따라 독립적으로 크기 조정되는 방식을 확인할 수 있습니다. Azure Monitor 메트릭 - Autoscaled RU 을 사용하여 새로운 자동 크기 조정이 파티션과 지역 전체에 어떻게 적용되는지 분석합니다. 원하는 데이터베이스 계정 및 컨테이너로 필터링한 다음 Physical PartitionID 메트릭으로 필터링하거나 분할합니다. 이 메트릭은 다양한 지역의 모든 파티션을 표시합니다. |
프로비저닝된 처리량 | 시간 전체에 걸쳐 집계된 가장 높은 RU/s를 표시하고 시간 단위로 크기가 조정된 총 RU/s를 나타냅니다. | Provisioned Throughput 메트릭을 사용하여 매시간 청구되는 RU/s를 볼 수 있습니다. 동적 자동 크기 조정을 사용하면 각 파티션 및 지역 수준에서 매시간 집계된 가장 높은 RU/s에 대한 요금이 청구됩니다. |
정규화된 RU 사용량 | 이 메트릭은 각 파티션 및 지역 수준에서 프로비전된 RU/s에 사용되는 RU/s의 비율을 나타냅니다. | 이 메트릭을 사용하여 자동 크기 조정 최대 처리량이 프로비저닝된 정도보다 낮거나 높은지 확인합니다. 메트릭 값이 일관되게 100%이고 애플리케이션에 속도 제한(429 오류 코드)이 표시되는 경우 더 많은 RU/s가 필요할 수 있습니다. 반면, 이 메트릭 값이 낮고 속도 제한이 없는 경우 RU/s를 최적화하고 축소할 여지가 있을 수 있습니다. 429 속도 제한 오류를 해석하고 디버그하는 방법에 대해 자세히 알아보세요. Normalized RU Consumption 메트릭은 보조 지역의 읽기 트래픽 외에도 주 지역의 쓰기 복제 트래픽으로 인해 보조 지역에서 사용되는 RU/s를 반영합니다. |
시작하기
동적 크기 조정은 2024년 9월 25일 이후에 만든 모든 Azure Cosmos DB 계정에 대해 기본적으로 사용하도록 설정됩니다. 이전 계정에서 이 기능을 사용하도록 설정하려는 고객은 다음과 같이 Azure PowerShell/CLI/Rest API를 통해 또는 Azure Portal의 기능 창에서 프로그래밍 방식으로 이 기능을 사용하도록 설정할 수 있습니다.
Azure Portal에서 Azure Cosmos DB 계정으로 이동합니다.
기능 페이지로 이동합니다.
동적 크기 조정(지역별 및 파티션별 자동 크기 조정) 기능을 찾아 사용하도록 설정합니다.
Important
이 기능은 계정 수준에서 사용하도록 설정되므로 계정 내의 모든 자동 크기 조정 컨테이너와 공유 처리량 데이터베이스에 이 기능이 자동으로 적용됩니다. 이 기능을 사용하도록 설정해도 수동 처리량을 사용하는 계정의 리소스에는 영향을 주지 않습니다. 동적 크기 조정을 활용하려면 수동 리소스를 자동 크기 조정으로 변경해야 합니다. 이 기능을 사용하도록 설정해도 가동 중지 시간 또는 성능에 영향이 전혀 없습니다. 이 기능은 서버리스 계정에는 적용되지 않습니다.