RAM 데이터 캐싱 시스템인 Dragonfly

잠자리

Dragonfly는 최신 애플리케이션 워크로드용으로 구축된 인메모리 데이터 저장소입니다.

몇일전 발표된 Dragonfly 인메모리 캐싱 및 데이터 스토리지 시스템 출시, 키/값 형식으로 데이터를 조작하고 느린 쿼리를 DBMS에 캐싱하고 중간 데이터를 RAM에 저장하여 로드가 많은 사이트의 속도를 높이는 경량 솔루션으로 사용할 수 있습니다.

잠자리 Memcached 및 Redis 프로토콜을 지원합니다. 코드를 재작업할 필요 없이 기존 클라이언트 라이브러리를 사용하고 Memcached 및 Redis를 사용하여 Dragonfly에 프로젝트를 포팅할 수 있습니다.

Dragonfly는 언급할 가치가 있습니다. 최근에 업데이트를 받았고, 버전 1.0에 도달하고 데이터 복제 지원 구현이 돋보입니다. 기본 서버에서 보조 서버로.

동시에 잠자리 보조 스토리지로 사용하도록 구성 가능 Dragonfly와 Redis를 기반으로 메인 서버에서 데이터를 받는 복제 관리 API는 Redis와 호환되며 ROLE 및 REPLICAOF(SLAVEOF) 명령 사용을 기반으로 합니다.

잠자리 소개

다중 스레드 아키텍처 덕분에 고성능 달성 리소스를 공유하지 않고(shared-nothing), 이는 별도의 컨트롤러가 자체 데이터 조각을 가진 각 스레드에 연결되어 뮤텍스나 스핀 잠금 없이 작동함을 의미합니다.

경량 VLL 잠금은 여러 키를 처리할 때 원자성을 보장하는 데 사용됩니다. 정보를 메모리에 효율적으로 저장하기 위해 일종의 분할된 해시 테이블을 구현하는 대시 테이블 구조가 사용되기 때문입니다.

Redis와 비교할 때 Dragonfly는 25배의 성능 향상을 자랑합니다. (초당 3,8만 요청) Amazon EC2 c6gn.16xlarge 환경의 일반적인 워크로드에서. AWS c6gn.16xlarge 환경의 Memcached와 비교할 때 Dragonfly는 초당 4,7배 더 많은 쓰기 요청(3,8만 대 806k)과 1,77배 더 많은 초당 읽기 요청(3,7만 대 2,1만)을 완료할 수 있었습니다.

5GB 스토리지 테스트에서 Dragonfly는 Redis보다 30% 적은 메모리를 필요로 했습니다. "bgsave" 명령을 사용하여 스냅샷을 생성하는 동안 메모리 사용량이 증가하지만 피크 시간에는 Redis보다 거의 30배 적게 유지되었으며 스냅샷 쓰기 작업 자체가 훨씬 빠릅니다(Redis의 경우) 테스트, a 스냅샷은 Dragonfly에서 42초, Redis에서 XNUMX초 만에 작성되었습니다.

잠자리 기능은 다음과 같습니다.

  • 사용 가능한 메모리가 고갈되면 이전 데이터를 새 데이터로 자동 교체하는 캐싱 모드입니다.
  • 데이터가 최신 상태로 간주되는 데이터 바인딩 수명 주기를 지원합니다.
  • 재부팅 후 나중에 복구할 수 있도록 백그라운드에서 스토리지 상태를 디스크로 플러시하는 기능을 지원합니다.
  • 시스템 관리를 위한 HTTP 콘솔(TCP 포트 6379에 바인드)과 Prometheus와 호환되는 메트릭 반환을 위한 API가 있습니다.
  • Redis 185 릴리스의 기능과 거의 동일한 5개의 Redis 명령을 지원합니다.
  • CAS를 제외한 모든 Memcached 명령 지원(확인 및 구성).
  • 스냅샷 생성을 위한 비동기 작업 지원.
  • 예측 가능한 메모리 소비.
  • 통합 루아 인터프리터 5.4.
  • 해시, 집합, 목록(ZSET, HSET, LIST, SETS 및 STRING) 및 JSON 데이터와 같은 복잡한 데이터 유형을 지원합니다.
  • 장애 조치 및 로드 밸런싱을 위한 스토리지 복제 지원.

Dragonfly 코드에 관심이 있는 사람들은 이 사실을 알아야 합니다. C/C++로 작성되었으며 아래에서 배포됩니다. 라이센스 BSL .BSL의 본질은 확장된 기능 코드가 처음에는 수정이 가능하지만 한동안은 우회하려면 상용 라이센스를 구매해야 하는 추가 조건에 따라 무료로 사용할 수 있다는 것입니다.

Dragonfly 프로젝트의 추가 라이선스 조건에 따라 2.0년 15월 2028일에 코드를 Apache 라이선스 XNUMX으로 마이그레이션해야 합니다. 그때까지 라이선스는 서비스 및 제품의 작동을 보장하기 위한 용도로만 코드 사용을 허용하지만 유료 콘텐츠를 만드는 데 사용하는 것은 금지합니다. Dragonfly의 플러그인 역할을 하는 클라우드 서비스.

최종적으로 그것에 대해 조금 더 알고 싶다면에서 세부 정보를 확인할 수 있습니다. 다음 링크.


기사의 내용은 우리의 원칙을 준수합니다. 편집 윤리. 오류를보고하려면 여기에.

코멘트를 첫번째로 올려

코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자: AB Internet Networks 2008 SL
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.