ScaleStore
Olric
ScaleStore | Olric | |
---|---|---|
2 | 28 | |
108 | 3,008 | |
3.7% | - | |
3.4 | 5.7 | |
3 months ago | 17 days ago | |
C++ | Go | |
MIT License | Apache License 2.0 |
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.
ScaleStore
-
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.
Olric
- Olric: Distributed, embeddable in-memory data structures in Go
-
I’m Now a Full-Time Professional Open Source Maintainer
It's Olric: https://github.com/buraksezer/olric. Publicly speaking about the companies may not be a good idea but you can dig into the issues, pull requests, and Discord channel if you are curious.
- Olric v0.5.0 is out! A distributed, in-memory key/value store and cache. It's designed to be distributed from the ground up and can be used both as an embedded Go library and a language-independent service.
-
SQLGateway - Access SQL databases over HTTP - Written in Go 💙
A fun addition could be to remove the need for Redis in clustered mode by using something like this: https://github.com/buraksezer/olric
-
Hacker News top posts: Nov 27, 2022
Olric: Distributed, embeddable data structures in Go\ (7 comments)
- Olric: Distributed, embeddable data structures in Go
- Redcon - Redis compatible server framework for Rust
- Survey: Who is using Olric?
What are some alternatives?
solid_cache - A database-backed ActiveSupport::Cache::Store
redis-lock - Simplified distributed locking implementation using Redis
ssd-nvme-database - Columnar database on SSD NVMe
ringpop-go - Scalable, fault-tolerant application-layer sharding for Go applications
KVRocks - RocksDB compatible key value store and MyRocks compatible storage engine designed for KV SSD
resgate - A Realtime API Gateway used with NATS to build REST, real time, and RPC APIs, where all your clients are synchronized seamlessly.
uNVMe - KV and LBA SSD userspace NVMe driver
raft - Golang implementation of the Raft consensus protocol
KVSSD - KV SSD host software including APIs and drivers
hprose - Hprose is a cross-language RPC. This project is Hprose for Golang.
NebulaGraph Database - A distributed, fast open-source graph database featuring horizontal scalability and high availability
tendermint - ⟁ Tendermint Core (BFT Consensus) in Go