Repolode
Snapchat

Snapchat/KeyDB

멀티스레드와 Redis 호환성을 갖춘 인메모리 데이터베이스로, 액티브-액티브 복제와 선택적 FLASH 스토리지를 지원하는 Redis 대체재입니다.

대체할 수 있는 제품:Redis

스타
12,499
포크
680
열린 이슈
295
마지막 커밋
15일 전

어떤 프로젝트인가요?

KeyDB는 멀티스레딩, 메모리 효율성, 처리량에 중점을 둔 고성능 Redis 포크입니다. Redis 프로토콜, 모듈, 스크립트와 완벽하게 호환되므로 클라이언트나 애플리케이션 코드를 수정하지 않고 기존 Redis 배포 환경을 전환할 수 있습니다.

KeyDB는 Redis의 기능에 더해 액티브-액티브 복제를 지원합니다. 여러 인스턴스가 읽기와 쓰기 요청을 모두 처리하면서 동기화 상태를 유지할 수 있어 TCP 기반 로드 밸런싱과 핫 스페어 장애 조치가 간편해집니다. 로컬 SSD를 사용하는 FLASH 스토리지, 하위 키 만료, 선택적 S3 덤프 및 로드 기능도 제공합니다. MVCC 설계 덕분에 KEYS, SCAN 같은 명령을 데이터베이스를 차단하지 않고 실행할 수 있습니다.

KeyDB는 Linux에서 실행되며, 빌드도 Linux에서 테스트됩니다. 멀티스레딩은 server-threads 같은 옵션과 클라이언트 밸런싱 설정으로 제어하며, 빌드에서는 TLS가 기본적으로 활성화됩니다.

핵심 기능

  • 01Redis 프로토콜, 모듈, 스크립트와 호환되는 멀티스레드 요청 처리.
  • 02여러 인스턴스가 읽기와 쓰기 요청을 처리할 수 있는 액티브-액티브 복제.
  • 03로컬 SSD를 사용하는 FLASH 스토리지(실험적 기능).
  • 04하위 키 만료와 MVCC 기반의 비차단 KEYS 및 SCAN.
  • 05선택적 AWS S3 덤프 및 로드.

활용 사례

  • 같은 하드웨어에서 처리량을 높이기 위해 기존 Redis 배포 환경을 대체.
  • 여러 인스턴스가 함께 읽기와 쓰기를 처리해야 하는 캐싱 계층 운영.
  • 노드당 더 많은 부하를 처리해 서버 수를 줄이기.

빠른 시작

  1. 1

    Debian/Ubuntu에 빌드 종속성을 설치합니다

    sudo apt install build-essential nasm autotools-dev autoconf libjemalloc-dev tcl tcl-dev uuid-dev libcurl4-openssl-dev libbz2-dev libzstd-dev liblz4-dev libsnappy-dev libssl-dev
  2. 2

    서브모듈 종속성을 초기화하고 업데이트합니다

    git submodule init && git submodule update
  3. 3

    KeyDB를 컴파일합니다

    make
  4. 4

    src 디렉터리에서 기본 구성으로 서버를 시작합니다

    ./keydb-server

사용 전 알아둘 점

  • Linux SO_REUSEPORT에 의존하므로 Linux에서만 빌드 및 테스트됩니다.
  • FLASH 스토리지는 실험 단계(베타)이므로 신중하게 사용해야 합니다.
  • 유료 지원은 제공되지 않으며, 커뮤니티 채널을 통해 도움을 받을 수 있습니다.

포함된 컬렉션

토픽

자주 묻는 질문

KeyDB은(는) 무엇인가요?
멀티스레드와 Redis 호환성을 갖춘 인메모리 데이터베이스로, 액티브-액티브 복제와 선택적 FLASH 스토리지를 지원하는 Redis 대체재입니다. KeyDB는 멀티스레딩, 메모리 효율성, 처리량에 중점을 둔 고성능 Redis 포크입니다. Redis 프로토콜, 모듈, 스크립트와 완벽하게 호환되므로 클라이언트나 애플리케이션 코드를 수정하지 않고 기존 Redis 배포 환경을 전환할 수 있습니다.
KeyDB은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
KeyDB은(는) BSD-3-Clause 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
KeyDB은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. KeyDB의 마지막 커밋은 2026년 10월 22일입니다.
KeyDB은(는) 어디에 사용할 수 있나요?
같은 하드웨어에서 처리량을 높이기 위해 기존 Redis 배포 환경을 대체. 여러 인스턴스가 함께 읽기와 쓰기를 처리해야 하는 캐싱 계층 운영. 노드당 더 많은 부하를 처리해 서버 수를 줄이기.
KeyDB는 어떻게 설치하나요?
Debian/Ubuntu에 빌드 종속성을 설치합니다: sudo apt install build-essential nasm autotools-dev autoconf libjemalloc-dev tcl tcl-dev uuid-dev libcurl4-openssl-dev libbz2-dev libzstd-dev liblz4-dev libsnappy-dev libssl-dev 서브모듈 종속성을 초기화하고 업데이트합니다: git submodule init && git submodule update KeyDB를 컴파일합니다: make src 디렉터리에서 기본 구성으로 서버를 시작합니다: ./keydb-server
KeyDB은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/Snapchat/KeyDB

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

관련 프로젝트