4 ms·
How does it compare to Kvrocks, which use RocksDB as the storage backend too? https://github.com/apache/kvrocks/ https://github.com/apache/kvrocks/
by hivacruz 3y ago
How does it compare to Kvrocks, which use RocksDB as the storage backend too?
https://github.com/apache/kvrocks/ https://github.com/apache/kvrocks/
- SableDb 3y agoIt performs better and uses different design choices (for example: SableDb uses tokio's local task per connection, and in general it uses green threads to make the code more readable and easy to maintain). I will release some design documents later on (hopefully this month). Remember that is a one man project (hopefully, not for long), so it takes time to organize everything :)
- theossuary 3y agoI like the idea of doing thread local execution of Tokyo tasks; I assume that means SableDb is mostly single threaded? Was this to reduce complexity, or for some other reason? I'm looking forward to the design doc on this!
- SableDb 3y agoIt is multi-threaded (configurable, you can set it to a specific number configuration file, or use the magic value 0 where SableDb decides based on the number of cores divided by 2). Each incoming connection is assigned to a worker thread, and two tokio tasks are created for the connection (one for reading and another for writing). Using tokio allowed me to use the `async` code without using "callback hell" so the code looks clean and readable in a single glance without the need to follow callbacks
- super_user 3y agoHi SableDb. I am looking for a tech cofounder in databases. Probably not the best place to ask for a cofounder. :-) Regardless, would you be interested?
- vlovich123 3y agoI’m potentially interested in a cofounder for my DB. Can you ping me on gmail to connect (username in profile)?
- scottlamb 3y agoYou might as well post it to the discussion of this article about why you won't find a technical co-founder. <https://news.ycombinator.com/item?id=39902372 https://news.ycombinator.com/item?id=39902372>
- PlutoIsAPlanet 3y agoI did some rookie testing between KVRocks and sableDB using Redis Benchmark KVRocks PING_INLINE: 171821.30 requests per second, p50=0.183 msec PING_MBULK: 173310.22 requests per second, p50=0.191 msec SET: 115074.80 requests per second, p50=0.399 msec GET: 163398.70 requests per second, p50=0.271 msec INCR: 110741.97 requests per second, p50=0.415 msec LPUSH: 89847.26 requests per second, p50=0.487 msec RPUSH: 94428.70 requests per second, p50=0.487 msec LPOP: 86880.97 requests per second, p50=0.535 msec RPOP: 88339.23 requests per second, p50=0.527 msec SableDB PING_INLINE: 90744.10 requests per second, p50=0.279 msec PING_MBULK: 90826.52 requests per second, p50=0.279 msec SET: 85763.29 requests per second, p50=0.311 msec GET: 87336.24 requests per second, p50=0.295 msec INCR: 68775.79 requests per second, p50=0.663 msec LPUSH: 36589.83 requests per second, p50=1.031 msec RPUSH: 38299.50 requests per second, p50=1.135 msec LPOP: 38051.75 requests per second, p50=1.191 msec RPOP: 37383.18 requests per second, p50=1.143 msec KVRocks seems faster but certainly not a bad start
- vlovich123 3y agoHow well does raw Redis and/or raw RocksDB perform on your machine?
- SableDb 3y agoSharing the build configuration (e.g. did you make sure to build `sabledb` in release mode?) + threads configurations etc, worth mentioning.
- SableDb 3y agoAlso, it works mentioning that kvrocks is more mature and supports many more commands than what SableDb currently supports