Repolode
google

google/leveldb

Google이 만든 고성능 임베디드 키-값 저장소 라이브러리로, 문자열 키와 값을 정렬된 순서로 저장합니다.

스타
39,503
포크
8,230
열린 이슈
425
마지막 커밋
13일 전

어떤 프로젝트인가요?

LevelDB는 Google에서 C++로 작성한 임베디드 키-값 저장소입니다. 임의의 바이트 문자열 키를 바이트 문자열 값에 매핑하고 키순으로 데이터를 정렬하므로, 애플리케이션에서 범위를 정방향 또는 역방향으로 순회할 수 있습니다. 서버가 아니라 프로세스에 링크되는 라이브러리이며, 한 번에 하나의 프로세스(멀티스레드일 수 있음)만 특정 데이터베이스를 열 수 있습니다.

API는 Put, Get, Delete를 중심으로 구성되며, 원자적 쓰기 배치와 일관된 읽기를 위한 임시 스냅샷을 제공합니다. 데이터는 기본적으로 Snappy로 압축하며 Zstd도 지원합니다. 파일 접근과 같은 운영체제 상호작용은 호출자가 대체할 수 있는 가상 인터페이스를 거칩니다.

LevelDB는 SQL 데이터베이스가 아니며 인덱스, 관계형 모델 또는 내장 클라이언트-서버 계층을 제공하지 않습니다. 프로젝트는 제한적인 유지보수 모드로 운영되며, 주로 치명적인 버그 수정과 호환성 변경을 받습니다. POSIX 시스템과 Windows에서 CMake로 빌드할 수 있습니다.

핵심 기능

  • 01키와 값은 임의의 바이트 배열이며, 키순으로 정렬해 저장합니다.
  • 02정렬 순서를 변경할 수 있도록 사용자 지정 비교 함수를 지원합니다.
  • 03원자적 쓰기 배치와 임시 스냅샷을 제공합니다.
  • 04데이터를 정방향 및 역방향으로 순회할 수 있습니다.
  • 05기본적으로 Snappy로 데이터를 압축하며 Zstd도 지원합니다.
  • 06가상 인터페이스를 통해 호출자가 운영체제 상호작용 계층을 대체할 수 있습니다.

활용 사례

  • C++ 애플리케이션에 고성능 로컬 키-값 캐시나 인덱스를 내장하는 경우.
  • 키를 기준으로 범위 검색해야 하는 정렬된 데이터를 저장하는 경우.
  • 임베디드 저장소를 기반으로 사용자 지정 스토리지 엔진이나 서버를 구축하는 경우.

빠른 시작

  1. 1

    서브모듈을 포함해 리포지토리를 클론합니다

    git clone --recurse-submodules https://github.com/google/leveldb.git
  2. 2

    빌드 디렉터리를 만들고 CMake로 구성합니다

    mkdir -p build && cd build cmake -DCMAKE_BUILD_TYPE=Release ..
  3. 3

    라이브러리를 빌드합니다

    cmake --build .

사용 전 알아둘 점

  • 특정 데이터베이스에는 한 번에 하나의 프로세스만 접근할 수 있습니다(멀티스레드 실행은 가능할 수 있습니다).
  • SQL 데이터베이스가 아니며 클라이언트-서버 지원, 인덱스 또는 관계형 모델이 내장되어 있지 않습니다.
  • 리포지토리 유지 관리가 매우 제한적이며, 치명적인 버그와 작동을 중단시키는 문제에 대한 수정만 검토됩니다.

토픽

자주 묻는 질문

leveldb은(는) 무엇인가요?
Google이 만든 고성능 임베디드 키-값 저장소 라이브러리로, 문자열 키와 값을 정렬된 순서로 저장합니다. LevelDB는 Google에서 C++로 작성한 임베디드 키-값 저장소입니다. 임의의 바이트 문자열 키를 바이트 문자열 값에 매핑하고 키순으로 데이터를 정렬하므로, 애플리케이션에서 범위를 정방향 또는 역방향으로 순회할 수 있습니다. 서버가 아니라 프로세스에 링크되는 라이브러리이며, 한 번에 하나의 프로세스(멀티스레드일 수 있음)만 특정 데이터베이스를 열 수 있습니다.
leveldb은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
leveldb은(는) BSD-3-Clause 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
leveldb은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. leveldb의 마지막 커밋은 2026년 10월 8일입니다.
leveldb은(는) 어디에 사용할 수 있나요?
C++ 애플리케이션에 고성능 로컬 키-값 캐시나 인덱스를 내장하는 경우. 키를 기준으로 범위 검색해야 하는 정렬된 데이터를 저장하는 경우. 임베디드 저장소를 기반으로 사용자 지정 스토리지 엔진이나 서버를 구축하는 경우.
leveldb는 어떻게 설치하나요?
서브모듈을 포함해 리포지토리를 클론합니다: git clone --recurse-submodules https://github.com/google/leveldb.git 빌드 디렉터리를 만들고 CMake로 구성합니다: mkdir -p build && cd build cmake -DCMAKE_BUILD_TYPE=Release .. 라이브러리를 빌드합니다: cmake --build .
leveldb은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/google/leveldb

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트