리소스 계층 구조 탐색
Azure Cosmos DB 계정은 글로벌 배포와 고가용성을 위한 기본 단위입니다. Azure Cosmos DB 계정에는 고유한 DNS(Domain Name System) 이름이 포함되어 있으며 Azure Portal 또는 Azure CLI를 사용하거나 다양한 언어별 SDK를 사용하여 계정을 관리할 수 있습니다. 여러 Azure 지역에 데이터 및 처리량을 전역적으로 배포하기 위해 언제든지 계정에 Azure 지역을 추가하고 제거할 수 있습니다.
Azure Cosmos DB 계정의 요소
Azure Cosmos DB 컨테이너는 스케일링 성능을 위한 기본 단위입니다. 하나의 컨테이너는 무제한으로 프로비전된 처리량(RU/s)과 스토리지를 무제한으로 가질 수 있습니다. Azure Cosmos DB는 사용자가 지정한 논리 파티션을 사용하여 컨테이너를 투명하게 분할함으로써 프로비전된 처리량과 스토리지를 탄력적으로 확장합니다.
현재 Azure 구독에서 최대 50개의 Azure Cosmos DB 계정을 만들 수 있습니다(지원 요청을 통해 늘릴 수 있음). Azure 구독에 계정을 생성한 후 데이터베이스, 컨테이너 및 항목을 만들어 계정의 데이터를 관리할 수 있습니다.
다음 이미지는 Azure Cosmos DB 계정에서 다른 엔터티의 계층 구조를 보여줍니다.
Azure Cosmos DB 데이터베이스
계정에 하나 또는 여러 개의 Azure Cosmos DB 데이터베이스를 만들 수 있습니다. 데이터베이스는 네임스페이스와 유사합니다. 데이터베이스는 Azure Cosmos DB 컨테이너 집합에 대한 관리 단위입니다.
Azure Cosmos DB 컨테이너
Azure Cosmos DB 컨테이너는 데이터가 저장되는 위치입니다. 더 큰 크기의 가상 머신으로 스케일 업되는 대부분의 관계형 데이터베이스와 달리 Azure Cosmos DB는 스케일 아웃됩니다.
데이터는 파티션이라는 하나 이상의 서버에 저장됩니다. 파티션을 늘리려면 처리량을 늘리거나 스토리지가 증가하면 자동으로 늘어납니다. 이 관계는 컨테이너에 사실상 무제한의 처리량과 스토리지를 제공합니다.
컨테이너를 만들 때 파티션 키를 제공해야 합니다. 파티션 키는 Azure Cosmos DB가 파티션 전체에 데이터를 효율적으로 배포하는 데 도움이 되도록 항목에서 선택하는 속성입니다. Azure Cosmos DB는 이 속성의 값을 사용하여 데이터를 작성, 업데이트 또는 삭제할 적절한 파티션으로 라우팅합니다. 효율적인 데이터 검색을 위해 쿼리의 WHERE
절에 파티션 키를 사용할 수도 있습니다.
Azure Cosmos DB의 데이터에 대한 기본 스토리지 메커니즘을 실제 파티션이라고 합니다. 실제 파티션은 초당 최대 10,000 요청 단위의 처리량을 가질 수 있으며 최대 50GB의 데이터를 저장할 수 있습니다. Azure Cosmos DB는 최대 20GB의 데이터를 저장할 수 있는 논리 파티션으로 이러한 분할 개념을 추상화합니다.
컨테이너를 만들 때 다음 모드 중 하나로 처리량을 구성합니다.
전용 처리량: 컨테이너의 처리량은 해당 컨테이너 전용으로 예약됩니다. 전용 처리량에는 표준과 자동 크기 조정이라는 두 가지 형식이 있습니다.
공유 처리량: 처리량은 데이터베이스 수준에서 지정된 다음 데이터베이스 내 최대 25개의 컨테이너와 공유됩니다. 처리량 공유에서는 자체 전용 처리량으로 구성된 컨테이너가 제외됩니다.
Azure Cosmos DB 항목
사용하는 API에 따라 개별 데이터 엔터티는 다양한 방식으로 표시될 수 있습니다.
Azure Cosmos DB 엔터티 | NoSQL용 API | API for Cassandra | MongoDB용 API | API for Gremlin | Table용 API |
---|---|---|---|---|---|
Azure Cosmos DB 항목 | Item | Row | 문서 | 노드 또는 에지 | Item |