Top 23 Rust Database Projects
-
MeiliSearch
Lightning Fast, Ultra Relevant, and Typo-Tolerant Search Engine
meilisearch/MeiliSearch (Rust): Lightning Fast, Ultra Relevant, and Typo-Tolerant Search Engine
-
sonic
🦔 Fast, lightweight & schema-less search backend. An alternative to Elasticsearch that runs on a few MBs of RAM.
Or you could use Sonic: https://github.com/valeriansaliou/sonic
-
tikv
Distributed transactional key-value database, originally created to complement TiDB
tikv/tikv (Rust): Distributed transactional key-value database, originally created to complement TiDB
-
diesel
A safe, extensible ORM and Query Builder for Rust
Latest mention: What has been your experience creating a web app with Rust vs other languages | reddit.com/r/rust | 2021-01-16I'm very comfortable with SQL but I still prefer the interface provided by ORMs for the simpler operations, as long as they have an escape hatch that allows for raw SQL when needed. AFAIK there is nothing in Rust right now that comes close to what Python offers there. I think the most developped one right now is Diesel, but it intentionally skips convenience methods for simpler joins like frameworks in other languages have. It also doesn't support async (https://github.com/diesel-rs/diesel/issues/399) which is a shame.
-
sled
the champagne of beta embedded databases
If you want to stick in the rust world, https://github.com/spacejam/sled is another promising storage engine project.
-
rust-postgres
Native PostgreSQL driver for the Rust programming language
This driver makes use of tokio-postgres under the hood, a widely-used Rust driver for postgres which has been out there for more than 4 years.
-
redis-rs
Redis library for rust
-
PumpkinDB
Immutable Ordered Key-Value Database Engine
-
exonum
An extensible open-source framework for creating private/permissioned blockchain applications
-
rusqlite
Ergonomic bindings to SQLite for Rust
The architecture for this kind of system can be really straightforward: a repository consists of a chronological list of Revisions, each of which consists of one or more Changes. Each Change is a transformation applied to a file. At least to start with we'll model every Change as completely replacing the previous state of the file since diffs and merging aren't necessary when we don't have collaboration features. We could store all this in many different ways but I figure SQLite is a reasonably scalable solution that seems to have bindings for Rust available. I'm not looking forward to manual management of database connections but this is part of what learning Rust is.
-
r2d2
A generic connection pool for Rust
-
rust-rocksdb
rust wrapper for rocksdb
-
rust-mysql-simple
Mysql client library implemented in rust.
-
cdrs
Cassandra DB native client written in Rust language. Find 1.x versions on https://github.com/AlexPikalov/cdrs/tree/v.1.x Looking for an async version? - Check WIP https://github.com/AlexPikalov/cdrs-async
-
rs-es
A Rust client for the ElasticSearch REST API
-
mysql_async
Asyncronous Rust Mysql driver based on Tokio.
Latest mention: Hey Rustaceans! Got an easy question? Ask here (1/2021)! | reddit.com/r/rust | 2021-01-06I'm way ahead of you. I found out about it because I noticed the impl Clone for Pool at the bottom and clicked the [src] button to verify that the pool was shared among clones.
-
rustorm
an orm for rust
-
deuterium
Fully typed SQL query builder for Rust [deprecated]
-
mysql-proxy-rs
A highly scalable MySQL Proxy framework written in Rust
-
rust-zookeeper
Pure Rust library for Apache ZooKeeper built on MIO
-
rust-etcd
An etcd client library for Rust.
-
leveldb
-
lmdb-rs
Rust bindings for LMDB
Index
What are some of the best open-source Database projects in Rust? This list will help you:
Project | Stars | |
---|---|---|
1 | MeiliSearch | 11,061 |
2 | sonic | 10,406 |
3 | tikv | 8,632 |
4 | diesel | 6,353 |
5 | sled | 4,306 |
6 | rust-postgres | 2,018 |
7 | redis-rs | 1,760 |
8 | PumpkinDB | 1,216 |
9 | exonum | 1,027 |
10 | rusqlite | 946 |
11 | r2d2 | 813 |
12 | rust-rocksdb | 774 |
13 | rust-mysql-simple | 404 |
14 | cdrs | 309 |
15 | rs-es | 212 |
16 | mysql_async | 201 |
17 | rustorm | 199 |
18 | deuterium | 167 |
19 | mysql-proxy-rs | 144 |
20 | rust-zookeeper | 133 |
21 | rust-etcd | 119 |
22 | leveldb | 113 |
23 | lmdb-rs | 90 |