The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more →
Top 23 Rust Database Projects
-
MeiliSearch
A lightning-fast search API that fits effortlessly into your apps, websites, and workflow
We needed to introduce a new service for search. As we settled on using meilisearch, we needed a way to sync updates on our models with the records in meilisearch. We could've continued to use callbacks but we needed something better.
-
Scalable Realtime Datastore: The piece examines a scalable datastore specifically created for metrics events and real-time analytics. (2013-09-26, shares: 26787.0)
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
In this article, I have shared how I have built a simple task-tracking full-stack application using NextJS and SurrealDB.
-
sonic
🦔 Fast, lightweight & schema-less search backend. An alternative to Elasticsearch that runs on a few MBs of RAM.
Sonic - a project written in Rust, uses custom network communication protocol for fast communication between the client and the server.
-
Project mention: just wanted to ask is there an in memory database that uses s3 or gcp cloud storage as permanent storage | /r/Database | 2023-07-04
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 ) .
-
neon
Neon: Serverless Postgres. We separated storage and compute to offer autoscaling, branching, and bottomless storage.
Project mention: Why PlanetScale broke our trust in database startups | news.ycombinator.com | 2024-03-15Migrated away when they removed the free tier, ended up using https://neon.tech/
-
Project mention: Top 10 Rusty Repositories for you to start your Open Source Journey | dev.to | 2023-12-19
7. Diesel
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
- Dropbox [3] uses a similar approach but they talk about it a bit more abstractly.
Sans-IO is more documented in Python [4], but str0m [5] and quinn-proto [6] are the best examples in Rust I’m aware of. Note that sans-IO is orthogonal to deterministic test frameworks, but it composes well with them.
With the disclaimer that my opinions are mine and mine alone, and don’t reflect the company I work at —— I do work at a rust shop that has utilized these techniques on some projects.
TigerBeetle is an amazing example and I’ve looked at it before! They are really the best example of this approach outside of FoundationDB I think.
[0]: https://risingwave.com/blog/deterministic-simulation-a-new-e...
[1]: https://risingwave.com/blog/applying-deterministic-simulatio...
[2]: https://dropbox.tech/infrastructure/-testing-our-new-sync-en...
[3]: https://github.com/spacejam/sled
[4]: https://fractalideas.com/blog/sans-io-when-rubber-meets-road...
[5]: https://github.com/algesten/str0m
[6]: https://docs.rs/quinn-proto/0.10.6/quinn_proto/struct.Connec...
-
databend
𝗗𝗮𝘁𝗮, 𝗔𝗻𝗮𝗹𝘆𝘁𝗶𝗰𝘀 & 𝗔𝗜. Modern alternative to Snowflake. Cost-effective and simple for massive-scale analytics. https://databend.com
Databend vs. Snowflake: https://github.com/datafuselabs/databend/issues/13059
-
risingwave
Scalable Postgres for stream processing, analytics, and management. KsqlDB and Apache Flink alternative. 🚀 10x more productive. 🚀 10x more cost-efficient.
Project mention: Proton, a fast and lightweight alternative to Apache Flink | news.ycombinator.com | 2024-01-30How does this compare to RisingWave and Materialize?
-
SQL with SeaORM:
-
Project mention: ToyDB: A Rust learning adventure, fun open-source project, and database learning resource for the community | /r/rust | 2023-05-06
This is great, but you might want to consider a different name. There's already a Rust project called ToyDB, and it's a distributed database with a Raft log, SQL, disk persistence, ACID transactions, etc. It's under active development (though the developer now works at Cockroach Labs), and has 5K stars on GitHub, so I think they have the right to the name.
-
Project mention: Choosing Between a Streaming Database and a Stream Processing Framework in Python | dev.to | 2024-02-10
To fully leverage the data is the new oil concept, companies require a special database designed to manage vast amounts of data instantly. This need has led to different database forms, including NoSQL databases, vector databases, time-series databases, graph databases, in-memory databases, and in-memory data grids. Recent years have seen the rise of cloud-based streaming databases such as RisingWave, Materialize, DeltaStream, and TimePlus. While they each have distinct commercial and technical approaches, their overarching goal remains consistent: to offer users cloud-based streaming database services.
-
-
Yeah, I worked on https://tablam.org and https://spacetimedb.com.
It becomes pretty clear that `order` is a significant property to make useful (and performant!) programs. "Duplicates" is also required to make usefull programs.
One nonobvious reason for this: You wanna report that a `customer` has a duplicated key `1`. If you CAN'T model `[(customer.id = 1), (customer.id = 1)]` then you can't report errors! And `erroneous` data is VITAL to make useful programs because then the only possibility is "perfect" data, and that is not possible!
Another reason is that we want to `count` duplicates, to see `duplicates`, and other NON-obvious at first: "What is a duplicate?". Get fun with floats, Unicode, combining case and non-case sensitive input... and is obvious that for useful programs IS REQUIRED to support bags in an extended version of the relational model.
And yet...
IS very important to remember about `set semantics` and try to adhere to it when makes sense. Your query planner will like it. You "valid" constraints like it. And `unique index` like it. And so on...
-
greptimedb
An open-source, cloud-native, distributed time-series database with PromQL/SQL/Python supported.
Project mention: Another distributed time-series database written in Rust | news.ycombinator.com | 2024-02-12 -
The goto Redis client for Rust is called redis-rs. It has over 3k stars on Github. but I found it very annoying to use because I quickly found out that if you want to set any value you had to get a mutable reference to the underlying client. Which meant great pain to store Redis client in the global scope. People who do not know what a mutable reference is consider the let keyword in JavaScript. you can mutate or change a variable that is initiated with let.
-
-
cozo
A transactional, relational-graph-vector database that uses Datalog for query. The hippocampus for AI!
-
"Rusqlite is an ergonomic wrapper for using SQLite from Rust." - Crates.io
-
I think a lot of Ratatui apps will tend to land on similar concepts for your app. There's a few good examples of apps using a component approach rather than just widgets that I'm aware of:
- https://github.com/sxyazi/yazi
- https://github.com/TaKO8Ki/gobang
- https://github.com/nomadiz/edma
Perhaps the intuitive crate would make a good abstraction on top of Ratatui?
-
Project mention: GlueSQL v0.14 Release - Schemaless data support and the official doc website | /r/rust | 2023-05-30
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Rust Database related posts
- SQLite + Rust: Building a CLI Password Vault 🦀
- Why PlanetScale broke our trust in database startups
- Neon: Serverless Postgres
- PlanetScale performs layoff and prioritizes profitability
- Inlined-KV – managed embedded key-value store
- Develop+Deploy RAG Bots with LlamaEdge: Across OSes, Nvidia, ARM Using Vector DB
- Is Something Bugging You?
-
A note from our sponsor - WorkOS
workos.com | 18 Mar 2024
Index
What are some of the best open-source Database projects in Rust? This list will help you:
Project | Stars | |
---|---|---|
1 | MeiliSearch | 42,378 |
2 | InfluxDB | 27,453 |
3 | surrealdb | 24,779 |
4 | sonic | 19,288 |
5 | tikv | 14,299 |
6 | neon | 11,721 |
7 | diesel | 11,718 |
8 | sled | 7,666 |
9 | databend | 7,046 |
10 | risingwave | 6,087 |
11 | sea-orm | 6,045 |
12 | toydb | 5,837 |
13 | materialize | 5,527 |
14 | Replibyte | 3,957 |
15 | SpacetimeDB | 3,821 |
16 | greptimedb | 3,512 |
17 | redis-rs | 3,347 |
18 | rust-postgres | 3,234 |
19 | cozo | 3,006 |
20 | rusqlite | 2,676 |
21 | gobang | 2,612 |
22 | gluesql | 2,566 |
23 | incubator-horaedb | 2,451 |