kvrocks
sqlite
kvrocks | sqlite | |
---|---|---|
23 | 7 | |
3,287 | 554 | |
1.7% | - | |
9.6 | 0.0 | |
3 days ago | about 2 months ago | |
C++ | C | |
Apache License 2.0 | ISC 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.
kvrocks
-
Redis Re-Implemented with SQLite
I switched from SSDB to Kvrocks recently, because SSDB is abandoned and the author missing for 3 years now. I used to recommend SSDB, but now there's better alternatives available:
https://github.com/apache/kvrocks
https://github.com/sabledb-io/sabledb
- Apache Kvrocks is a distributed key value NoSQL database that uses RocksDB as s
-
Five Apache projects you probably didn't know about
Another under the radar Apache project I've found myself using is Apache KvRocks
https://github.com/apache/kvrocks
It's a Redis compatible database on top of RocksDB, so unlike Redis it uses the disk instead of RAM, but you can control how much data is cached in RAM, obviously Kvrocks will be slower than Redis for uncached data.
Useful in situations where you want a KV data store that isn't limited by your memory specs but is compatible with everything that speaks Redis.
- Redis as a Database
- Apache Kvrocks: distributed store using RocksDB, Redis compatible protocol
-
Ask HN: Why are there no open source NVMe-native key value stores in 2023?
There’s Kvrocks. It uses the Redis protocol and it’s built on RocksDB https://github.com/apache/kvrocks
-
Getting started with Kvrocks and go-redis
Apache Kvrocks is a distributed key-value NoSQL database that uses RocksDB as a storage engine and is compatible with Redis protocol.
-
The first version of Redis, written in Tcl
We use Kvrocks[0] at work. It is Redis on disk, powered by "RocksDB" (hence the name) and compatible with most of the Redis clients since it respects the Redis protocol. It was incubated by Apache earlier this year.
It works great and the development is really active.
[0]: https://kvrocks.apache.org
- Kvrocks 2.0.6 is released
- Kvrocks 2.0.5 has integrated the RocksDB's blob db
sqlite
-
Redis Re-Implemented with SQLite
> You can get substantially better performance out of sqlite by using the lower level https://github.com/crawshaw/sqlite, turning on WAL etc, using a connection per goroutine for reads, and sending batches of writes over a buffered channel / queue to a dedicated writer thread. That way you can turn off SQLite’s built in per-connection mutex but still be thread safe since each connection is only used on a single thread at a time.
Would this protect against a row update in the middle of a read? e.g. would a row at least be internally consistent at the time it was read?
-
SQLite in Go, with and Without Cgo
The default go sqlite driver is https://github.com/mattn/go-sqlite3, which is quite lovely, but I ran into issues with concurrency on read only databases.
I'm now using https://github.com/crawshaw/sqlite and it seems to address those issues (but I haven't gotten around to setting up a proper test to confirm). It may be worth perusing if you do run into performance problems. It does come with the caveat of not being a database/sql driver though.
-
Awesome SQLite
crawshaw/sqlite - Low-level Go interface to SQLite
-
A pure Go embedded SQL database
crawshaw/sqlite actually uses CGo -- it's a wrapper around the C version of SQLite. For example, see https://github.com/crawshaw/sqlite/blob/23d646f8ac00d9dd2390...
zombiezen/go-sqlite uses cznic's pure Go converted version of SQLite, so avoids CGo. It's explicitly stated to be "a fork of crawshaw.io/sqlite that uses modernc.org/sqlite, a CGo-free SQLite package. It aims to be a mostly drop-in replacement for crawshaw.io/sqlite."
-
Are both MySQL and Postgres drivers similar in quality?
The second well known driver is https://github.com/crawshaw/sqlite
What are some alternatives?
Tendis - Tendis is a high-performance distributed storage system fully compatible with the Redis protocol.
sqlite
SSDB - SSDB - A fast NoSQL database, an alternative to Redis
go-sqlite-lite - SQLite driver for the Go programming language
pika - Pika is a Redis-Compatible database developed by Qihoo's infrastructure team.
go-sqlite - Low-level Go interface to SQLite 3
pika - An open-source colour picker app for macOS
go-sqlite3 - sqlite3 driver for go using database/sql
fastonosql_gui - FastoNoSQL is a crossplatform Redis, Memcached, SSDB, LevelDB, RocksDB, UnQLite, LMDB, ForestDB, Pika, Dynomite, KeyDB GUI management tool.
chai - Modern embedded SQL database
KeyDB - A Multithreaded Fork of Redis
ql