Very cool, great work as usual =) P.S. did you mind to write ability to use raw block device for storing data, so not fs required to use yogadb ?
вс, 8 мар. 2026 г. в 13:30, Jason E. Aten <[email protected]>: > > I thought this was an interesting systems design paper from 2022: > https://www.roychan.org/assets/publications/eurosys22chen.pdf > > "Building an Efficient Key-Value Store in a Flexible Address Space", by > Chen et al at the University of Illinois, Chicago. Eurosys 2022. > > They claimed their design, expressed in a small C library, got performance 2x > better than RocksDB (a highly tuned, state of the art, Log-structured > merge-tree key/value store produced by Meta/Facebook based on the LevelDB > design originally). > > wow. That caught my attention. > > And they had C code that built (a rarity among research projects, sigh). > But C... Ugh. I ported it to Go. > > Turns out those performance number... were actually pretty spot on... and > have a strong theoretical stand. > > original C: https://github.com/flexible-address-space/flexspace > > my Go: https://github.com/glycerine/yogadb > > Compared to CockroachDB's Pebble (a LSM tree in Go), YogaDB (also pure Go) is > 20x faster at reads and 2x faster at writes than Pebble. > > Compared to BoltDB (a copy-on-write memory mapped B-tree in Go based on > Howard Chu's Lightning Memory-mapped Database C design), YogaDB has > comparable reads (sometimes even a little faster) and 20x faster writes than > Bolt. > > Enjoy, > > Jason > > p.s. I did a nice little virtual file system layer to test fsync durability > and the recovery path. You can find that here: > https://github.com/glycerine/vfs It is a fork of Pebble's vfs with a bunch of > missing os package APIs fleshed out. Testing fully in memory with "go test -v > -tags memfs" is about 7x faster than using the actual disk. > > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion visit > https://groups.google.com/d/msgid/golang-nuts/aeee56e4-62c3-4b10-87af-92d80c9bdc90n%40googlegroups.com. -- Vasiliy Tolstov, e-mail: [email protected] -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/d/msgid/golang-nuts/CACaajQtw-GemdLzvd1sKR8g7y8Oq9gKWJ11K7JGSGZzcbnnDKA%40mail.gmail.com.
