소개

완료됨

온라인 판매점의 스토리지를 관리한다고 가정해 보겠습니다. 사용자 및 제품 데이터를 만들고, 업데이트하고, 삭제하는 도구가 필요합니다. 비즈니스나 운영 관련 결정을 내리기 위해 데이터를 쿼리하는 기능도 필요합니다.

d이 모듈에서는 Java를 사용하여 사용자 레코드를 만들고, 업데이트하고, 삭제하고, 데이터를 쿼리하는 Java 콘솔 애플리케이션을 빌드해 봅니다. 이 모듈에서는 두 가지 코드 샘플 집합을 사용합니다. 하나는 Azure Cosmos DB Java SDK를 직접 사용하고 다른 하나는 Java용 Spring Data 프로그래밍 모델을 사용합니다.

Maven 패키지 관리자를 사용하여 프로젝트를 구성하고 종속성을 가져옵니다.

Azure Cosmos DB를 사용해야 하는 이유

클라우드에서 글로벌 소매점 운영을 관리하는 가상의 회사라면 Azure Cosmos DB를 사용하는 것이 도움이 될 수 있습니다. 회사의 엔지니어들은 POS 디바이스가 각 요청에 대한 응답 시간을 짧게 유지하며 클라우드 데이터베이스로 데이터를 지속할 수 있음을 보장해야 합니다. 회사는 재고 데이터베이스를 유지 관리합니다. 회사는 이 데이터베이스가 (고객 불만족 방지를 위해) 고가용성을 지원하고 (전 세계 고객이 반응형 웹 페이지를 볼 수 있도록) 전역 배포되었는지 확인하고자 할 것입니다.

또한 회사의 글로벌 소매 시스템에 대한 로드는 연중 시기에 따라 다릅니다. 회사는 데이터베이스에 대한 로드가 소매업계의 휴일이 있는 주간에 높아진다는 사실을 잘 알고 있습니다. 이 회사는 최대 사용량에 대한 요금을 지불하는 대신 사용량에 따른 비용을 지불하는 가격 책정 모델을 찾고 있습니다.

Azure Cosmos DB는 대기 시간 및 가용성에 대한 성능 SLA(서비스 수준 계약)를 제공하는 NoSQL 클라우드 데이터베이스입니다. 또한 사용자가 데이터베이스의 지리적 로컬 복사본과 소통할 수 있도록 턴키 전역 배포도 제공합니다. 이러한 기능은 이 소매 회사의 전역 고가용성/낮은 대기 시간 요구 사항을 충족시킬 수 있습니다. 이 회사는 코드에서 데이터베이스 처리량을 스케일링하거나 처리량 자동 스케일링을 사용하여, 특정 시간에 사용한 서비스 처리량에 대해서만 비용을 지불할 것을 예상할 수 있습니다.

분할 및 복제된 NoSQL 데이터베이스인 Azure Cosmos DB는 애플리케이션의 피크 데이터베이스 처리량을 처리할 수 있을 만큼 물리적 머신을 탄력적으로 스핀업할 수 있고, 필요하지 않게 되면 해당 컴퓨팅을 해제할 수 있습니다. 이렇게 머신의 개수를 스케일링하여 부하를 처리하는 과정을 스케일 아웃 또는 수평 스케일링이라고 합니다.

이 랩에서는 사용자가 Azure Cosmos DB를 시작하는 데 도움이 되도록 기본적인 Java 언어 클라이언트를 개발하는 과정을 안내합니다.

학습 목표

이 모듈에서는 다음을 수행합니다.

  • Java 애플리케이션에서 Azure Cosmos DB로 요청을 보내는 방법 알아보기
  • Azure Cosmos DB에 데이터를 저장하고 쿼리하는 애플리케이션 만들기

필수 구성 요소

  • Java 프로그래밍 언어에 대한 지식
  • 선택 사항: Spring Data 프로그래밍 모델 숙지
  • Azure Cosmos DB에서 리소스를 만들고 관리해 본 경험(Cosmos DB 계정, 데이터베이스 및 컨테이너 만들기 및 구성 포함)
  • 다음 도구에 대한 초보자 수준의 지식과 로컬 설치: Apache Maven, Git, Java JDK 8 이상, Java IDE 또는 텍스트 편집기