빠른 시작: Azure Cosmos DB for Apache Cassandra 데이터를 관리하는 Java 앱 빌드(v4 드라이버)
아티클
2024. 08. 15.
적용 대상: Cassandra
이 빠른 시작에서는 Azure Cosmos DB for Apache Cassandra 계정을 만들고 GitHub에서 복제된 Cassandra Java 앱을 만들고 Java용 v4.x Apache Cassandra 드라이버를 사용하여 Cassandra 데이터베이스 및 컨테이너를 만듭니다. Azure Cosmos DB는 글로벌 배포 및 수평적 크기 조정 기능을 사용하여 문서, 테이블, 키 값 및 그래프 데이터베이스를 빠르게 만들고 쿼리할 수 있는 다중 모델 데이터베이스 서비스입니다.
Java용 오픈 소스 Apache Cassandra 드라이버 버전 4를 사용하는 간단한 빠른 시작입니다. 대부분의 경우 기존 코드를 변경하지 않고도 기존 Apache Cassandra 종속 Java 애플리케이션을 Azure Cosmos DB for Apache Cassandra에 연결할 수 있습니다. 그러나 더 나은 전체 환경을 위해 권장되는 연결 설정뿐만 아니라 사용자 지정 다시 시도 및 부하 분산 정책도 포함된 사용자 지정 Java 확장을 추가하는 것이 좋습니다. 이는 필요한 경우 Azure Cosmos DB에서 속도 제한 및 애플리케이션 수준 장애 조치(failover)를 처리하기 위한 것입니다. 확장을 구현하는 포괄적인 샘플은 여기서 찾을 수 있습니다.
데이터베이스 계정 만들기
문서 데이터베이스를 만들려면 Azure Cosmos DB로 Cassandra 계정을 만들어야 합니다.
Azure Portal 메뉴 또는 홈 페이지에서 리소스 만들기를 선택합니다.
새로 만들기 페이지에서 Azure Cosmos DB를 검색하여 선택합니다.
Azure Cosmos DB 페이지에서 생성를 선택합니다.
API 페이지에서 Cassandra 섹션 아래의 만들기를 선택합니다.
API는 만들 계정의 형식을 결정합니다. Azure Cosmos DB는 문서 데이터베이스용 NoSQL, 그래프 데이터베이스용 Gremlin, 문서 데이터베이스용 MongoDB, Azure Table 및 Cassandra 등 5개의 API를 제공합니다. 각 API에 대한 별도의 계정을 만들어야 합니다.
이 빠른 시작에서는 API for Cassandra와 함께 작동하는 테이블을 만들고 있으므로 Cassandra를 선택합니다.
이 단계는 선택 사항입니다. 코드로 데이터베이스 리소스를 만드는 방법을 알아보려는 경우 다음 코드 조각을 검토할 수 있습니다. 그렇지 않으면 연결 문자열 업데이트로 건너뛸 수 있습니다. 이 코드 조각은 모두 src/main/java/com/azure/cosmosdb/cassandra/util/CassandraUtils.java 파일에서 가져옵니다.
CqlSession이 Azure Cosmos DB for Apache Cassandra에 연결되고 액세스할 세션을 반환합니다(v3 드라이버의 Cluster 개체는 이제 사용되지 않음). Cassandra 호스트, 포트, 사용자 이름 및 암호는 Azure Portal에서 연결 문자열 페이지를 통해 설정됩니다.
포털로 돌아가서 USERNAME 값을 복사합니다. 포털의 USERNAME 값을 줄 4의 <cassandra endpoint username>에 붙여넣습니다.
config.properties의 줄 4는 이제 다음과 유사하게 나타납니다.
cassandra_username=cosmos-db-quickstart
포털로 돌아가서 PASSWORD 값을 복사합니다. 포털의 PASSWORD 값을 줄 5의 <cassandra endpoint password>에 붙여넣습니다.
config.properties의 줄 5는 이제 다음과 유사하게 나타납니다.
cassandra_password=2Ggkr662ifxz2Mg...==
줄 6에서 특정 TLS/SSL 인증서를 사용하려면 <SSL key store file location>을 TLS/SSL 인증서의 위치로 바꿉니다. 값을 제공하지 않으면 <JAVA_HOME>/jre/lib/security/cacerts에 설치된 JDK 인증서가 사용됩니다.
특정 TLS/SSL 인증서를 사용하기 위해 줄 6을 변경한 경우 줄 7을 업데이트하여 해당 인증서의 암호를 사용합니다.
접점의 기본 지역(예: West US)을 추가해야 합니다.
region=West US
이는 v.4x 드라이버에서 단 하나의 로컬 DC와 접점의 페어링을 허용하기 때문입니다. 기본값(Azure Cosmos DB 계정이 처음 생성되었을 때 지정된 지역)이 아닌 지역을 추가하려는 경우 접점을 추가할 때 지역 접미사(예: host-westus.cassandra.cosmos.azure.com)를 사용해야 합니다.
config.properties 파일을 저장합니다.
Java 앱 실행
Git 터미널 창에서 azure-cosmosdb-cassandra-java-getting-started-v4 폴더로 cd합니다.
cd "C:\git-samples\azure-cosmosdb-cassandra-java-getting-started-v4"
Git 터미널 창에서 다음 명령을 사용하여 cosmosdb-cassandra-examples.jar 파일을 생성합니다.
터미널 창에 키스페이스와 테이블이 작성되었다는 알림이 표시됩니다. 그런 다음, 테이블의 모든 사용자를 선택하여 반환하고 출력을 표시한 후 ID로 행을 선택하고 값을 표시합니다.
프로그램 실행을 중지하고 콘솔 창을 닫으려면 Ctrl+C를 누릅니다.
Azure Portal에서 데이터 탐색기를 열어 이 새 데이터를 쿼리/수정/사용합니다.
Azure Portal에서 SLA 검토
Azure Portal에서는 Azure Cosmos DB 계정 처리량, 스토리지, 가용성, 대기 시간 및 일관성을 모니터링합니다. Azure Cosmos DB SLA(서비스 수준 계약)와 관련된 메트릭 차트에는 실제 성능 대비 SLA 값이 표시됩니다. 이 메트릭 모음을 통해 SLA를 투명하게 모니터링할 수 있습니다.
메트릭 및 SLA를 검토하려면 다음을 수행합니다.
Azure Cosmos DB 계정의 탐색 메뉴에서 메트릭을 선택합니다.
대기 시간과 같은 탭을 선택하고, 오른쪽에서 시간 프레임을 선택합니다. 차트의 실제 및 SLA 줄을 비교합니다.
다른 탭의 메트릭을 검토합니다.
리소스 정리
앱과 Azure Cosmos DB 계정을 모두 사용했으면 추가로 비용을 지불하지 않도록 만든 Azure 리소스를 삭제할 수 있습니다. 리소스를 삭제하려면:
Azure Portal 검색 창에서 리소스 그룹을 검색하고 선택합니다.
목록에서 이 빠른 시작에서 만든 리소스 그룹을 선택합니다.
리소스 그룹 개요 페이지에서 리소스 그룹 삭제를 선택합니다.
새 창에서 삭제할 리소스 그룹의 이름을 입력한 다음, 삭제를 선택합니다.
다음 단계
이 빠른 시작에서는 API for Cassandra를 사용하여 Azure Cosmos DB 계정을 만들고 Cassandra 데이터베이스 및 컨테이너를 만드는 Cassandra Java 앱을 실행하는 방법을 알아보았습니다. 이제 Azure Cosmos DB 계정으로 추가 데이터를 가져올 수 있습니다.