Cosmos DB 아키텍처
Azure Storage 개발
Shahzad Mian
Content developer, DataCamp
Azure Cosmos DB
문제점
Cosmos DB란?
멀티 모델, 전역 분산 NoSQL 데이터베이스.
NoSQL: 유연한 폴더형 저장.
다양한 API와 데이터 형식 지원.
유연한 메뉴처럼 API를 선택:
SQL(Core): JSON 문서.
MongoDB: Mongo 개발자용.
Cassandra: 와이드 컬럼 데이터.
Gremlin: 그래프 관계.
Table API: 키-값 저장.
개발자를 위한 Cosmos DB
개발자 중심으로 설계.
자동 인덱싱: 스키마 관리 불필요.
빠른 쿼리.
5가지 일관성 수준: Strong ~ Eventual.
성능과 일관성의 트레이드오프.
Strong: 모두가 즉시 같은 내용을 봄.
Eventual: 나중에 일치.
스케일링과 처리량(RU/s)
초당 요청 단위(RU/s) = Cosmos DB의 성능 화폐.
읽기, 쓰기, 쿼리마다 RU/s를 소모합니다.
고정 프로비저닝 또는 자동 크기 조정 선택.
스케일링과 처리량(RU/s)
초당 요청 단위(RU/s) = Cosmos DB의 성능 화폐.
읽기, 쓰기, 쿼리마다 RU/s를 소모합니다.
고정 프로비저닝 또는 자동 크기 조정 선택.
자동 크기 조정은 수요에 따라 자동으로 조절됩니다.
탄력적 스케일과 파티셔닝
Cosmos DB는 파티셔닝으로 확장합니다.
각 컨테이너는 파티션 키를 사용합니다.
키는 관련 데이터를 함께 묶습니다.
예: Cipher Coffee는 주문에
/customerId
를 사용합니다.
/customerId
를 파티션 키로 쓰면 한 고객의 주문이 같은 파티션에 저장됩니다.
데이터가 늘어도 쿼리는 빠릅니다.
핫 파티션
: 불균형한 부하로 성능 저하.
전역 분산
데이터를 손쉽게 어느 Azure 지역으로든 복제.
체크박스만 선택, 추가 설정 없음.
한 지역 장애 시 트래픽 자동 우회.
다운타임 없음, 데이터 손실 없음.
예비 카페가 즉시 고객을 받는 것과 같습니다.
모니터링과 비용 최적화
Azure Portal에서 성능을 모니터링합니다.
RU/s, 지연 시간, 요청 요금 등 지표를 확인.
자동차 계기판처럼 속도와 연료를 확인.
Cipher Coffee 엔지니어가 이 지표를 분석했습니다.
처리량을 동적으로 조정해 비용을 절감했습니다.
연습해 봅시다!
Azure Storage 개발
Preparing Video For Download...