Azure Cosmos DB와 파이썬을 활용한 NoSQL 데이터베이스 개발

소개

Azure Cosmos DB는 Microsoft에서 제공하는 NoSQL 데이터베이스 서비스입니다. 이 서비스는 전 세계적으로 사용 가능한 분산형 데이터베이스로, 다양한 데이터 모델 및 API를 지원합니다. 파이썬은 인기있는 프로그래밍 언어 중 하나이며, Azure Cosmos DB와 함께 사용하여 NoSQL 데이터베이스를 개발하는 것이 가능합니다.

Azure Cosmos DB 설정

먼저 Azure Portal에 로그인하여 Cosmos DB 계정을 생성해야 합니다. Cosmos DB 계정을 생성한 후에는 설정 탭에서 데이터베이스와 컬렉션을 만들어야 합니다. 이러한 설정은 Azure CLI를 사용하여 자동화할 수도 있습니다.

파이썬 Cosmos DB 모듈 설치

Cosmos DB를 파이썬에서 사용하려면 관련 모듈을 설치해야 합니다. azure-cosmos 모듈은 Cosmos DB Python SDK로, Cosmos DB와 상호 작용하기 위한 필수 도구입니다. 다음 명령을 사용하여 모듈을 설치할 수 있습니다:

pip install azure-cosmos

연결 구성

파이썬에서 Azure Cosmos DB에 연결하기 위해 연결 문자열과 관련 설정이 필요합니다. Azure Portal에서 Cosmos DB 계정을 선택하고, “Keys” 섹션에 있는 연결 문자열을 확인할 수 있습니다. 이 연결 문자열을 사용하여 파이썬 코드에서 Cosmos DB에 연결합니다.

from azure.cosmos import exceptions, CosmosClient, PartitionKey

# Azure Cosmos DB 연결 문자열
connection_string = "[your_connection_string]"

# Cosmos DB 클라이언트 생성
client = CosmosClient.from_connection_string(connection_string)

데이터 작성 및 조회

Cosmos DB는 문서 기반 데이터 모델을 사용하며, 데이터를 JSON 형식으로 저장합니다. 다음은 Cosmos DB 컬렉션에 데이터를 작성하고 조회하는 예제입니다.

# 데이터베이스와 컨테이너 이름
database_name = "MyDatabase"
container_name = "MyContainer"

# 데이터베이스 생성
database = client.create_database_if_not_exists(database_name)

# 컨테이너 생성
container = database.create_container_if_not_exists(
    id=container_name,
    partition_key=PartitionKey(path="/id"),
    offer_throughput=400
)

# 데이터 작성
item = container.upsert_item({
    'id': '1',
    'name': 'John Doe',
    'age': 25
})

# 데이터 조회
query = "SELECT * FROM c"
items = list(container.query_items(
    query=query,
    enable_cross_partition_query=True
))

# 조회 결과 출력
for item in items:
    print(item)

요약

이 튜토리얼에서는 Azure Cosmos DB와 파이썬을 함께 사용하여 NoSQL 데이터베이스를 개발하는 방법을 알아보았습니다. Azure Portal을 통해 Cosmos DB 계정을 생성하고, 파이썬에서 azure-cosmos 모듈을 설치하여 Cosmos DB와 연결하고 데이터를 작성하고 조회할 수 있습니다.

참고 자료