KVSSD
ScaleStore
KVSSD | ScaleStore | |
---|---|---|
1 | 3 | |
230 | 117 | |
0.9% | 3.4% | |
0.0 | 2.9 | |
about 1 year ago | 21 days ago | |
C | C++ | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
KVSSD
ScaleStore
-
Show HN: EloqKV – Scalable Distributed Acid Key-Value Database with Redis API
That is really interesting. It indeed reminds me a bit on this research project https://github.com/DataManagementLab/ScaleStore (the one Andy posted the analysis)
-
Ask HN: Why are there no open source NVMe-native key value stores in 2023?
I don't remember exactly why I have any of them saved, but these are some experimental data stores that seems to be fitting what you're looking for somewhat:
- https://github.com/DataManagementLab/ScaleStore - "A Fast and Cost-Efficient Storage Engine using DRAM, NVMe, and RDMA"
- https://github.com/unum-cloud/udisk - "The fastest ACID-transactional persisted Key-Value store designed for NVMe block-devices with GPU-acceleration and SPDK to bypass the Linux kernel."
- https://github.com/capsuleman/ssd-nvme-database - "Columnar database on SSD NVMe"
-
The end of a myth: Distributed transactions can scale
The linked blog post at the top of this article - https://muratbuffalo.blogspot.com/2023/01/is-scalable-oltp-i... - provides graphics that give extremely useful context. And here's the repo for the paper that discusses: https://github.com/DataManagementLab/ScaleStore
The idea that one of many writer-compute-nodes can literally reach into a memory buffer that is shared across machines, atomically flip some lock bits and propagate some cache-coherence messages, and use that to build a multi-writer distributed database without needing to partition (and where any writer-compute-node can handle any message, so you can just round-robin a firehose of messages at them)... and that there's a chance (though not yet implemented) that one could implement ACID on top of this? It's absolute madness, and wildly exciting.
What are some alternatives?
solid_cache - A database-backed ActiveSupport::Cache::Store
xnvme - Portable and high-performance libraries and tools for NVMe devices as well as support for traditional/legacy storage devices/interfaces.
KVRocks - RocksDB compatible key value store and MyRocks compatible storage engine designed for KV SSD
uNVMe - KV and LBA SSD userspace NVMe driver
udisk - The fastest ACID-transactional persisted Key-Value store designed as modified LSM-Tree for NVMe block-devices with GPU-acceleration and SPDK to bypass the Linux kernel
ssd-nvme-database - Columnar database on SSD NVMe
service-fabric - Service Fabric is a distributed systems platform for packaging, deploying, and managing stateless and stateful distributed applications and containers at large scale.
yottaStore - A datastore aiming at linear scalability up to the yottabyte range. Inspired by dynamo and cassandra.