비트카스크
Bitcask![]() |
개발자 | 바쇼 테크놀로지스 |
---|---|
안정된 릴리스 | 2.1.0[1] / 2020년 5월 , 전( ) |
저장소 | |
기입처 | 얼랑 |
운영 체제 | Linux, BSD, Mac OS X, Solaris |
플랫폼 | IA-32, x86-64 |
면허증. | Apache 라이센스 2.0 |
웹 사이트 | docs |
Bitcask는 키/값 데이터를 로그 구조화된 해시 테이블에 저장하고 검색하기 위한 API를 제공하는 Erlang 응용 프로그램입니다.이 설계는 로그 구조 파일 시스템에서 찾을 수 있는 원리에 힘입은 바가 크며 로그 파일 병합과 관련된 여러 설계에서 영감을 얻습니다.
힘
Bitcask는 한 번 쓰는 추가 전용 온디스크 데이터 형식과 검색용 키의 메모리 내 해시 테이블을 사용하기 때문에 다음과 같은 많은 이점이 있습니다.
- 읽기 및 쓰기 작업의 지연 시간이 짧습니다.
- 높은 throughput(특히 랜덤 항목의 수신 스트림을 쓸 때):쓰기 중인 데이터를 디스크에서 주문할 필요가 없고 로그 구조화 설계로 쓰기 중 디스크 헤드의 이동을 최소화하므로 일반적으로 I/O 및 디스크 대역폭이 포화됩니다.
- 단일 검색으로 모든 값 가져오기:Bitcask의 메모리 내 해시 테이블은 데이터가 있는 디스크 상의 위치를 직접 가리킵니다.Bitcask는 값을 읽기 위해 여러 개의 디스크 검색을 필요로 하지 않으며 운영 체제의 파일 시스템 캐싱으로 인해 일부 검색에서 완전히 디스크 검색을 수행할 필요가 없습니다.
- 예측 가능한 검색 및 삽입 성능: 읽기 작업과 쓰기 작업에는 고정적이고 예측 가능한 동작이 있습니다.쓰기 작업에는 쓰기 위해 열려 있는 현재 파일의 끝에 대한 검색과 해당 파일에 추가만 필요합니다.
- 고속 크래시 리커버리: Bitcask의 디스크 포맷으로 리커버리가 간단합니다.손실될 수 있는 유일한 항목은 마지막으로 쓰기 위해 연 파일의 끝에 부분적으로 기록된 레코드입니다.복구는 마지막으로 작성된 기록 또는 두 개만 검토하고 체크섬을 확인하여 데이터가 일치하는지 확인해야 합니다.
- 간단한 백업: Bitcask의 디스크 포맷은 파일을 디스크 블록 순서로 아카이브 또는 복사하는 유틸리티가 Bitcask 데이터베이스를 올바르게 백업 또는 복사하는 것을 의미합니다.
약점
Bitcask는 항상 모든 키를 메모리에 보관하기 때문에 시스템은 다른 운영 컴포넌트 및 운영 체제의 파일 시스템 버퍼와 더불어 키 공간 전체를 포함할 수 있는 충분한 메모리를 보유하고 있어야 합니다.
외부 링크
- Bitcask 공식 디자인 페이퍼
- 비트 태스크 용량 계산기
- 비트 캐스크:고속 키 값을 위한 로그 구조화된 해시 테이블
- Better Bitcask와 LevelDB 중 어느 것이 더 좋습니까?
- ^ "Release 2.1.0". 7 May 2020. Retrieved 28 October 2020.