⭐ Azure Cosmos DB
Microsoft에서 제공하는 전 세계적으로 분산된 다중 모델 NoSQL 데이터베이스 관리 시스템(DBMS)
NoSQL: 정해진 테이블 구조 없이 유연하게 데이터를 저장하는 데이터베이스
특징
- JSON 기반 데이터 저장
- 구조를 미리 정의하지 않아도 됨
- 필요에 따라 key-value를 자유롭게 추가하거나 변경 가능
- 다중 모델 지원
- 다양한 API를 통해 여러 데이터 모델을 지원 (문서, 그래프 등)
- 문서 단위 관리
- 데이터는 컨테이너 내부에 JSON 문서 형태의 Item으로 저장
- Partition Key를 기준으로 분산 저장되어 관리
- RU(Request Unit)
- Azure Cosmos DB에서 데이터베이스 작업의 비용을 측정하는 단위 (과금 단위)
- 읽기, 쓰기, 쿼리 등 모든 작업은 RU를 기준으로 계산
- 작업의 복잡도와 데이터 양에 따라 RU 사용량이 다름
- 사용자는 초당 처리량을 RU/s (초당 Request Unit) 형태로 설정하여 프로비저닝 가능
- Azure Portal에서 RU 사용량 모니터링 가능
- 일관성 수준(Consistency Level) 설정 가능
- 데이터가 여러 서버에 분산 저장될 때, 데이터의 일관성을 얼마나 유지할지 설정 가능
- 서버마다 데이터 반영 속도 차이로 인해 일시적으로 데이터가 다를 수 있음
- 일관성 수준에 따라 데이터 정확성과 성능 사이의 균형을 조절할 수 있음
장점
- 글로벌 분산: 데이터를 여러 지역에 복제하여 전 세계 어디서든 빠르게 접근 가능
- 낮은 지연 시간: 읽기 및 쓰기 작업이 빠르게 처리되어 실시간 서비스에 적합
- 높은 확장성: Azure의 스케일링 기능을 활용하여 데이터 양이 증가해도 유연하게 확장 가능
주요 제약 조건
- id
- 각 데이터는 고유한 id를 가져야 함
- 이를 통해 레코드를 유일하게 식별
- Partition Key
- 데이터를 분산 저장하기 위한 기준이 되는 값
- Partition Key를 기준으로 데이터가 여러 파티션에 나뉘어 저장
- 이를 통해 병렬 처리와 빠른 조회 가능
⭐ Cosmos DB API
- NoSQL API: JSON 문서 형태로 데이터를 저장하고 SQL 유사 쿼리를 사용하는 기본 API
- MongoDB API: MongoDB와 호환되어 기존 MongoDB 애플리케이션을 그대로 사용할 수 있는 API
- Cassandra API: Apache Cassandra와 호환되는 컬럼 기반 데이터 모델을 지원하는 API
- Gremlin API: 그래프 구조 데이터를 처리하기 위한 Gremlin 기반 API
- PostgreSQL API: PostgreSQL과 호환되는 관계형 데이터베이스 API
'클라우드응용SW개발' 카테고리의 다른 글
| [Cloud] 6주차-1. 클라우드 기반의 웹 서비스 플랫폼 (0) | 2026.04.17 |
|---|---|
| [Cloud] 5주차-3. Azure Cosmos DB 실습 (0) | 2026.04.07 |
| [Cloud] 5주차-1. 반정형 데이터(JSON), Azure Storage (0) | 2026.04.07 |
| [Cloud] 4주차-4. MySQL 데이터베이스로 메모 앱 만들기 실습 (0) | 2026.04.07 |
| [Cloud] 4주차-3. Azure 관계형 Database (+실습) (0) | 2026.04.07 |