<개요>
- Azure Cosmos 의 경우 RU 단위로 과금을 한다.
<내용>
- 400RU 가 최소단위이다.
- Partition Key를 잘 설정하지 않으면 HotSpot이 발생하여 RU만큼의 성능을 못 느낄 수도 있다.
- RU는 결국 초당 Read/Write를 위해서 접근하는 데이터의 양이라고 볼 수 있는데, 최적화를 잘못할 경우 기대한 한큼은 Throughput이 나오지 않을 수 있다.
- RU는 database 레벨에서 설정할 수도 있고 개별 Collection 단위로도 설정이 가능하다.
- 물리 1파티션당 10기가 용량제한이 있어서 이를 염두해야 한다.
<Scale설정화면>
- 개별 Collection 의 사용빈도나 데이터가 다르다면 별도로 세팅하는 것이 좋다.
database 레벨에서 RU를 설정할 경우 각 컨테이너의 RU는 별도설정이 불가능하고 database RU를 공유하는 방식이 된다.
전체 사용량이 많지 않다면 공유하는 방법을 추천한다. (과금은 RU단위로 되기 때문)
<결론>
-400RU 로만 사용하면 월 5만원 안쪽으로 부담이 크지 않다.
-그러나 지역중복을 체크하면 x로 비용이 추가된다.
-RU를 초과하는 요청에 대해서는 즉시 응답이 오지 않으며 대기하다가 처리하는 방식으로 이루어진다.
-timeout이 발생하는 경우는 명시적으로 exception 이 발생한다.
-전체 data가 많을 경우 스캔해야하는 범위가 늘어나므로 RU최적화를 위해서는 data tts를 조정하는 것도 하나의 방법이 될 수 있다.
-파티션키 조정을 통해서 HotSpot발생을 줄이고 퍼포먼스를 증가시키는 것은 일반적인 NoSQL 과 유사하다.
'Azure Architecture' 카테고리의 다른 글
Azure IoT Hub 와 Device 연결, 메시지 전송 및 제어 (0) | 2019.10.08 |
---|---|
Azure Function App 사용시 주의사항 (0) | 2019.09.26 |
Azure Resource Template을 통한 Function App생성시 주의점 (0) | 2019.09.25 |
Azure를 이용한 IoT Device 데이터 수집/분석 (0) | 2019.05.31 |