Skip to content

Python implementation of the bitcask log-structured hash table

Notifications You must be signed in to change notification settings

seanrayment/python-bitcask

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

python-bitcask

Python implementation of a bitcask inspired KV store.

Keys are stored in a in-memory hash table (python dictionary). Each key maps to an entry indicating where the value can be found on disk, in a single seek.

Disclaimer: Not for production use. I implemented this project for educational purposes after hearing about it in Chapter 3 of Designing Data Intensive Applications.

Usage

>> from bitcask import BitCask
>> bcask = BitCask("db")
>> bcask.put("message", "Hello, World!")
>> bcask.get("message")
'Hello, World!"

Feature List

  • PUT item
  • GET item
  • DELETE item
  • Rebuild hash table from data files after crash
  • CRC checksums for data integrity
  • Compaction
  • Hint files
  • CLI

About

Python implementation of the bitcask log-structured hash table

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages