Olric
dqlite
Our great sponsors
Olric | dqlite | |
---|---|---|
28 | 33 | |
2,992 | 3,683 | |
- | 1.3% | |
6.1 | 8.7 | |
about 2 months ago | 7 days ago | |
Go | C | |
Apache License 2.0 | GNU General Public License v3.0 or later |
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.
Olric
-
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)
- Redcon - Redis compatible server framework for Rust
-
IMDGO - In-memory Data Grid in Go
How does it compare to Olric?
-
go-generics-cache: An in-memory key:value store/cache library for Go Generics
Just to follow up -- Olric ends up being closer to what I need.
-
rqlite 6.0: the evolution of a distributed database design
Have you considered using olric[0]?
Just asking so that I can piggyback on your research :)
-
Best examples of a Go client
Olric distributed cache, https://github.com/buraksezer/olric
dqlite
-
Marmot: Multi-writer distributed SQLite based on NATS
If you're interested in this, here are some related projects that all take slightly different approaches:
- LiteSync directly competes with Marmot and supports DDL sync, but is closed source commercial (similar to SQLite EE): https://litesync.io
- dqlite is Canonical's distributed SQLite that depends on c-raft and kernel-level async I/O: https://dqlite.io
- cr-sqlite is a Rust-based loadable extension that adds CRDT changeset generation and reconciliation to SQLite: https://github.com/vlcn-io/cr-sqlite
Slightly related but not really (no multi writer, no C-level SQLite API or other restrictions):
- comdb2 (Bloombergs multi-homed RDMS using SQLite as the frontend)
- rqlite: RDMS with HTTP API and SQLite as the storage engine, used for replication and strong consistency (does not scale writes)
- litestream/LiteFS: disaster recovery replication
- liteserver: active read-only replication (predecessor of LiteSync)
- I'm All-In on Server-Side SQLite
-
SQLite performance tuning: concurrent reads, multiple GBs and 100k SELECTs/s
I'd be curious for a similar tuning with Dqlite: https://github.com/canonical/dqlite
- Strong Consistency with Raft and SQLite
-
9 years of open-source database development: reviewing the designs
Anyone knows how the DB this is about, https://rqlite.io/, compares with https://dqlite.io/ by Canonical (both seem to be distributed versions of sqlite)?
- SQLite the only database you will ever need in most cases
-
Transcending Posix: The End of an Era?
For folks' context, the new tool that's being discussed in the thread mentioned by the parent here is litefs [0], as well as which you can also look at rqlite [1] and dqlite [2], which all provide different trade-offs (e.g. rqlite is 'more strongly consistent' than litefs).
[0]: https://github.com/superfly/litefs
-
SQLite is not a toy database
I presume you're familiar with https://github.com/canonical/dqlite (made by my employer) and https://github.com/rqlite/rqlite (unrelated)? How will mvsqlite compare to those?
-
GitDB, a distributed embeddable database on top of Git
Check out dqlite, it's sqlite but with a raft consensus to distribute changes through a log: https://dqlite.io/ You can link it in as a library too, it sounds like exactly what you want.
- Ask HN: Free and open source distributed database written in C++ or C
What are some alternatives?
rqlite - The lightweight, distributed relational database built on SQLite.
redis-lock - Simplified distributed locking implementation using Redis
kine - Run Kubernetes on MySQL, Postgres, sqlite, dqlite, not etcd.
ringpop-go - Scalable, fault-tolerant application-layer sharding for Go applications
resgate - A Realtime API Gateway used with NATS to build REST, real time, and RPC APIs, where all your clients are synchronized seamlessly.
raft - Golang implementation of the Raft consensus protocol
litestream - Streaming replication for SQLite.
better-sqlite3 - The fastest and simplest library for SQLite3 in Node.js.
hprose - Hprose is a cross-language RPC. This project is Hprose for Golang.
boringproxy - Simple tunneling reverse proxy with a fast web UI and auto HTTPS. Designed for self-hosters.
Bedrock - Rock solid distributed database specializing in active/active automatic failover and WAN replication
tendermint - ⟁ Tendermint Core (BFT Consensus) in Go