redb
redb copied to clipboard
An embedded key-value database in pure Rust
The main [ord](https://github.com/casey/ord) instance at [ordinals.com](https://ordinals.com) is now running redb, and I'm starting to think about how to deal with reorgs of the bitcoin blockchain. We have a few tables,...
Have you given thought to what the default write strategy should be? I lean towards `WriteStrategy::Throughput`, since it doesn't have the caveat about a malicious workload, and people are likely...
I'm currently using the master branch of `redb`, to avoid #318, and I was hitting [this assert](https://github.com/cberner/redb/blob/727c9498369a4fb2213e4bd0f615e68cb127cadc/src/db.rs#L281) whenever I restarted ord: ``` assert!(Self::verify_primary_checksums(&mem)); ``` Switching to `WriteStrategy::Throughput` seems to avoid...
I have a some random suggestions for shorter names for some types. These are really personal preference, but I thought it would be worth proposing to see what you thought:...
I forgot what the region size was, so I was looking at the MAX_USABLE_REGION_SPACE constant. I noticed that it's different on 32 and 64 bit platforms, which made me wonder:...
Mixing writes to mmap'ed memory with fsync, like we do on OSX, is probably not safe. Also, using write() and a read-only mmap would prevent accidental data corruption by errant...
The file format is [documented here](https://github.com/cberner/redb/blob/master/docs/design.md) and I'm working toward stabilizing it. Please comment with any suggestions for improving it!
Would it be possible to add support for Windows for this crate also? It looks like currently the issue is that it uses raw unix file handles for the memory...
Would it be easy to implement the key and value traits for tuples of various lengths, where the tuple element types implement the key or value trait? I keep wanting...