Skip to content

iron9light/bitcask-scala

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

A scala port of Basho's Bitcask - local key/value store (http://bitbucket.org/basho/bitcask)

The Bitcask is soooooooo simple(http://downloads.basho.com/papers/bitcask-intro.pdf), that I think I can write my own.

There are some different between Bitcask and bitcask-scala.
bitcask-scala set the valueSize to 0xFFFFFFFF as this record has been removed.
But Bitcask use <<"bitcask_tombstone">> as removed value.

I use RandomAccessFile, it will flush every writing.

And I do not implement lock, merge and fold.

I run it on my Intel Core Dou E6550, Mint 8 (32bit) PC. FASTER than Bitcask:)
(Scala 2.8.0.RC1)
8.927000 s for writing 1048576 k/vs
0.008513 ms per writing

19.451000 s for reading 1048576 k/vs
0.018550 ms per reading

(Scala 2.8.0.RC2)
8.728000 s for writing 1048576 k/vs
0.008324 ms per writing

18.691000 s for reading 1048576 k/vs
0.017825 ms per reading

About

A scala port of Basho's bitcask local k/v db

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages