raft
tikv
Our great sponsors
raft | tikv | |
---|---|---|
7 | 21 | |
7,828 | 14,446 | |
1.1% | 1.5% | |
6.1 | 9.7 | |
10 days ago | 7 days ago | |
Go | Rust | |
Mozilla Public License 2.0 | 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.
raft
-
Leader election library
Depending on your exact needs, you could try HashiCorp's Raft implementation: https://github.com/hashicorp/raft
-
Implementing a distributed key-value store on top of implementing Raft in Go
I have found the performance tests very tricky to get to pass without having any input from others. The assignment is really very unforgiving, I would wager the test suite is comparable to how commercial Raft implementations are tested (e.g. https://github.com/hashicorp/raft)
- Raft Is So Fetch: The Raft Consensus Algorithm Explained Through Mean Girls
-
Concurrency in Go is hard
While searching on GitHub, I found a pull request in the Raft implementation by Hashicorp (a distributed consensus algorithm), which we can use to demonstrate the following problem. Let’s start by showing the code (at api.go):
-
Looking for a TypeScript Implementation of Raft
Hey,
you could inspire yourself by hashicorps raft implementation written in go and build one for typescript. Code is quite good to read and Go ins't that far away from typescript.
-
rqlite, the light distributed database built with Go and SQLite, v7.2 now with autoclustering via DNS and DNS SRV
Production-grade distributed consensus system.
-
Raft Consensus Protocol
In general Hashicorp's repos are high quality:
https://github.com/hashicorp/raft
Example application: https://github.com/Jille/raft-grpc-example
tikv
-
just wanted to ask is there an in memory database that uses s3 or gcp cloud storage as permanent storage
I know that very similar functionality to this is in TiDB Serverless ( https://tidbcloud.com ). TiDB is a distributed relational database. It uses TiKV ( which is a key/value engine ) as the storage engine. You could use SQL to access your K/V records. There is ongoing work in TiKV to support S3 directly as the storage backend ( https://github.com/tikv/tikv/issues/6506 ) .
- Implementing a distributed key-value store on top of implementing Raft in Go
- Production grade databases in Rust
- Can anyone recommend tikv nosql database
- Go devs that learned Rust, what are your thoughts on it?
-
Apache Pegasus – A a distributed key-value storage system
TiKV is basically a layer on top of rocksdb https://github.com/tikv/tikv/blob/956610725039835557e7516828...
- TiKV is a highly scalable, low latency, and easy to use key-value database
-
Surrealdb – FOSS document-graph database, for the realtime web in Rust
> Many,many smart people…
If you look inside the code you can see the stated features are a result of underlying engine (TiKV [0] also in c and rust from pingcap). Surrealdb is standing on shoulders of giants at present, they are TiKV, FoundationDB and rocksdb. The feature set they mentioned mostly coming from TiKV at present.
-
Cloud database for tomorrow's applications (written in Rust)
Hi Diggsey, great question. We are currently focussed on functionality and stability, and then will draw our attention to performance. Coming this week we have a RocksDB storage implementation. We've only just launched our initial beta version, and we know there is a lot of improvement and work to be done (some of these performance issues we know about already and are on our Github issues list).
With regards to the consistency/isolation model, SurrealDB sits on top of a number of key-value stores. By using the distributed highly-available TiKV storage backend, https://tikv.org, (and we have a FoundationDB integration in the works), the database is designed to be highly-scalable and highly-available. The same guarantees (albeit just single-node, so no high-availability or scalability) will be available with the RocksDB implementation coming this week. By sitting on top of these key-value stores, SurrealDB ensures that all transactions are ACID compliant. We don't want to go for speed (for instance by writing to /dev/null) over anything, but want SurrealDB to be a reliable and performant backend for any application. Obviously we have a way to go to catch up with PostgreSQL (launched in 1996), but we will strive to get there!
-
CeresDB: A high-performance, distributed, schema-less and time-series database
If you are looking for a production ready distributed store written in Rust. Check out TiKV(https://github.com/tikv/tikv), which was also mentioned in the acknowledge section of the project's README.
There's also a full-featured distributed RDBMS called TiDB built on top of TiKV.
What are some alternatives?
serf - Service orchestration and management tool.
redis-rs - Redis library for rust
tendermint - ⟁ Tendermint Core (BFT Consensus) in Go
rust-etcd - An etcd client library for Rust.
torrent - Full-featured BitTorrent client package and utilities
rust-rocksdb - rust wrapper for rocksdb
etcd - Distributed reliable key-value store for the most critical data of a distributed system [Moved to: https://github.com/etcd-io/etcd]
cassandra-rs - Cassandra (CQL) driver for Rust, using the DataStax C/C++ driver under the covers.
dragonboat - A feature complete and high performance multi-group Raft library in Go.
rust-postgres - Native PostgreSQL driver for the Rust programming language
DHT - BitTorrent DHT Protocol && DHT Spider.
diesel - A safe, extensible ORM and Query Builder for Rust