AstraDBByteStore 통합

AstraDBByteStore 통합

키-값 저장소를 스케일이 큰 서버리스 데이터베이스에 두고 싶을 때가 있어요. 데이터가 많아지고, 여러 환경에서 안정적으로 돌려야 한다면 직접 하드디스크에 저장하는 것보다 클라우드 DB를 쓰는 편이 편하죠. 이럴 때 쓰는 게 Astra DB와 연결되는 AstraDBByteStore예요.

출처: 공식문서 - AstraDBByteStore integration

DataStax Astra DBApache Cassandra®를 기반으로 한 서버리스 AI-ready 데이터베이스예요. 사용하기 쉬운 JSON API를 제공해서, 별도 인프라 관리 없이 키-값 저장소로 바로 쓸 수 있죠. AstraDBByteStore의 모든 기능과 설정은 API 레퍼런스에서 확인할 수 있어요.

준비하기

AstraDBByteStore를 쓰려면 먼저 DataStax 계정을 만들고 Astra DB 인스턴스를 준비해야 해요. 클라우드 DB라서 로컬 실행은 지원하지 않아요.

자격 증명

가입하고 나면 API 엔드포인트와 애플리케이션 토큰을 환경에 설정해요.

from getpass import getpass

ASTRA_DB_API_ENDPOINT = getpass("ASTRA_DB_API_ENDPOINT = ")
ASTRA_DB_APPLICATION_TOKEN = getpass("ASTRA_DB_APPLICATION_TOKEN = ")

설치

통합은 langchain-astradb 패키지에 들어 있어요.

pip install -qU langchain-astradb

만들기

엔드포인트와 토큰, 컬렉션 이름을 지정해서 바이트 저장소를 만들어요.

from langchain_astradb import AstraDBByteStore

kv_store = AstraDBByteStore(
    api_endpoint=ASTRA_DB_API_ENDPOINT,
    token=ASTRA_DB_APPLICATION_TOKEN,
    collection_name="my_store",
)

collection_name은 Astra DB 안에서 데이터가 저장될 컬렉션(테이블 같은 개념)이에요.

사용하기

mset 메서드로 키에 값을 저장해요.

kv_store.mset(
    [
        ["key1", b"value1"],
        ["key2", b"value2"],
    ]
)

kv_store.mget(
    [
        "key1",
        "key2",
    ]
)
[b'value1', b'value2']

삭제는 mdelete 메서드를 쓰면 돼요.

kv_store.mdelete(
    [
        "key1",
        "key2",
    ]
)

kv_store.mget(
    [
        "key1",
        "key2",
    ]
)
[None, None]

AstraDBByteStore는 다른 ByteStore를 쓰는 어디서든 그대로 쓸 수 있어요. 인터페이스가 동일하니까요.

API 레퍼런스

AstraDBByteStore의 모든 기능과 설정은 API 레퍼런스에서 확인할 수 있어요.

더 알아보기 (Learn more)