Azure Cosmos DB 대량 실행기 라이브러리 개요

적용 대상: NoSQL

Azure Cosmos DB는 탄력적으로 스케일 아웃되어 다음을 지원하는 빠르고 유연하며 전 세계적으로 분산된 데이터베이스 서비스입니다.

  • 초당 약 수백만 건에 이르는 많은 읽기/쓰기 처리량
  • 예측 가능한 밀리초의 대기 시간으로 약 수백 테라바이트 이상에 달하는 대용량의 트랜잭션/운영 데이터 저장

대량 실행기 라이브러리를 사용하면 이 대규모의 처리량 및 스토리지를 이용할 수 있습니다. Bulk Executor 라이브러리를 사용하면 Azure Cosmos DB에서 대량 가져오기 및 대량 업데이트 API를 통해 대량 작업을 수행할 수 있습니다. 다음 섹션에서 대량 실행기 라이브러리의 기능에 대한 자세한 내용을 확인할 수 있습니다.

참고 항목

현재 대량 실행기 라이브러리는 가져오기 및 업데이트 작업을 지원합니다. Azure Cosmos DB API는 NoSQL 및 Gremlin 계정에 한해 이 라이브러리를 지원합니다.

Important

대량 실행기 라이브러리는 현재 서버리스 계정에서 지원되지 않습니다. .NET에서는 V3 버전의 SDK에서 사용할 수 있는 대량 지원을 사용하는 것이 좋습니다.

대량 실행기 라이브러리의 주요 기능

  • 대량 실행기 라이브러리를 사용하면 컨테이너에 할당된 처리량을 이용하는 데 필요한 클라이언트 쪽 컴퓨팅 리소스를 크게 줄일 수 있습니다. 대량 가져오기 API를 사용하여 데이터를 작성하는 단일 스레드 애플리케이션은 클라이언트 컴퓨터의 CPU를 이용하면서 동시에 데이터를 작성하는 멀티 스레드 애플리케이션에 비해 쓰기 처리량이 10배 더 많습니다.

  • 대량 실행기 라이브러리는 지루한 애플리케이션 논리 작성 작업을 추상화하여 요청 속도 제한, 요청 시간 제한, 기타 일시적 예외를 처리합니다. 또한 라이브러리 내에서 이를 효율적으로 처리합니다.

  • 이는 애플리케이션이 스케일 아웃을 위해 대량 작업을 수행할 수 있는 간소화된 메커니즘을 제공합니다. Azure Virtual Machines에서 실행되는 단일 대량 실행기 인스턴스는 500K RU/s 이상을 소비할 수 있습니다. 사용자는 개별 클라이언트 가상 머신에 더 많은 인스턴스를 추가하여 처리량 속도를 높일 수 있습니다.

  • 스케일 아웃 아키텍처를 사용하면 한 시간 내에 1테라바이트가 넘는 데이터를 대량으로 가져올 수 있습니다.

  • Azure Cosmos DB 컨테이너의 기존 데이터를 패치로 대량 업데이트할 수 있습니다.

대량 실행기의 작동 방식

문서를 가져오거나 업데이트하는 대량 작업이 엔터티 일괄 처리로 트리거되는 경우, 처음에 Azure Cosmos DB 파티션 키 범위에 해당하는 버킷에 섞입니다. 파티션 키 범위에 해당하는 각 버킷 내에서 미니 일괄 처리로 나뉩니다.

각 미니 일괄 처리는 서버 쪽에서 커밋되는 페이로드 역할을 합니다. 대량 실행기 라이브러리는 파티션 키 범위 내에서 그리고 범위 전반에 걸쳐 이 미니 일괄 처리를 동시에 실행하기 위한 최적화 기능을 기본 제공합니다.

다음 이미지에는 대량 실행기가 다른 파티션 키로 데이터를 일괄 처리하는 방법이 나와 있습니다.

Diagram shows bulk executor architecture.

대량 실행기 라이브러리는 컬렉션에 할당된 처리량을 최대로 활용합니다. 각 Azure Cosmos DB 파티션 키 범위에 대해 AIMD 스타일 정체 제어 메커니즘을 사용하여 트래픽률 제한 및 제한 시간을 효율적으로 처리합니다.

대량 실행기 라이브러리를 사용하는 샘플 애플리케이션에 대한 자세한 내용은 대량 실행기 .NET 라이브러리를 사용하여 Azure Cosmos DB에서 대량 작업 수행Azure Cosmos DB 데이터에 대한 대량 작업 수행을 참조하세요.

참조 정보는 .NET 대량 실행기 라이브러리Java 대량 실행기 라이브러리를 참조하세요.

다음 단계