Repolode
dgraph-io

dgraph-io/badger

순수 Go로 작성된 임베디드형 영구 키-값 데이터베이스로, ACID 트랜잭션과 SSD에 최적화된 설계를 제공합니다.

스타
15,786
포크
1,334
열린 이슈
76
마지막 커밋
어제

어떤 프로젝트인가요?

BadgerDB는 Go만으로 작성된 임베디드형 영구 키-값 저장소입니다. 별도 서버가 아니라 애플리케이션 프로세스 안에서 실행되며, 그래프 데이터베이스 Dgraph의 기반 스토리지 엔진으로 사용됩니다.

Badger는 WiscKey 설계를 바탕으로 별도의 value log를 두는 LSM 트리 구조를 채택했습니다. 값 데이터를 키 인덱스에서 분리해 SSD에서 쓰기 증폭을 줄입니다. 직렬화 가능한 스냅샷 격리를 지원하는 동시 ACID 트랜잭션, 접두사 및 키 범위 스캔을 지원하는 이터레이터, 키별 버전, TTL 기능을 제공합니다. Cgo를 사용하지 않아 표준 Go 툴체인으로 빌드할 수 있습니다.

프로젝트에는 오프라인 백업 및 복원 등의 작업을 위한 CLI도 포함되어 있으며, Go 모듈 github.com/dgraph-io/badger/v4로 제공됩니다.

핵심 기능

  • 01Cgo 의존성 없이 순수 Go로 작성된 임베디드형 키-값 저장소입니다.
  • 02직렬화 가능한 스냅샷 격리를 지원하는 동시 ACID 트랜잭션을 제공합니다.
  • 03value log를 사용해 키와 값을 분리함으로써 SSD에서 쓰기 증폭을 줄입니다.
  • 04접두사 및 키 범위 스캔을 지원하는 이터레이터와 키별 여러 버전에 대한 접근을 제공합니다.
  • 05키가 자동으로 만료되도록 TTL을 지원합니다.
  • 06오프라인 백업 및 복원을 위한 명령줄 도구를 제공합니다.

활용 사례

  • Go 서비스나 CLI 도구에 빠른 로컬 영구 저장소를 임베드하는 경우.
  • 분산 시스템이나 그래프 데이터베이스의 스토리지 계층으로 사용하는 경우.
  • Go 애플리케이션에서 Raft 로그나 메타데이터 저장소를 구축하는 경우.
  • 읽기 및 쓰기 처리량이 중요한 SSD에 대규모 데이터셋을 저장하는 경우.

빠른 시작

  1. 1

    Go 프로젝트에 라이브러리를 설치합니다

    go get github.com/dgraph-io/badger/v4
  2. 2

    체크아웃한 저장소에서 Badger 명령줄 도구를 설치합니다

    cd badger go install .

사용 전 알아둘 점

  • Go 1.23 이상이 필요합니다.

토픽

자주 묻는 질문

badger은(는) 무엇인가요?
순수 Go로 작성된 임베디드형 영구 키-값 데이터베이스로, ACID 트랜잭션과 SSD에 최적화된 설계를 제공합니다. BadgerDB는 Go만으로 작성된 임베디드형 영구 키-값 저장소입니다. 별도 서버가 아니라 애플리케이션 프로세스 안에서 실행되며, 그래프 데이터베이스 Dgraph의 기반 스토리지 엔진으로 사용됩니다.
badger은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
badger은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
badger은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. badger의 마지막 커밋은 2026년 10월 20일입니다.
badger은(는) 어디에 사용할 수 있나요?
Go 서비스나 CLI 도구에 빠른 로컬 영구 저장소를 임베드하는 경우. 분산 시스템이나 그래프 데이터베이스의 스토리지 계층으로 사용하는 경우. Go 애플리케이션에서 Raft 로그나 메타데이터 저장소를 구축하는 경우. 읽기 및 쓰기 처리량이 중요한 SSD에 대규모 데이터셋을 저장하는 경우.
badger는 어떻게 설치하나요?
Go 프로젝트에 라이브러리를 설치합니다: go get github.com/dgraph-io/badger/v4 체크아웃한 저장소에서 Badger 명령줄 도구를 설치합니다: cd badger go install .
badger은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/dgraph-io/badger

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

관련 프로젝트