SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 Rust Database Projects
-
MeiliSearch
A lightning-fast search API that fits effortlessly into your apps, websites, and workflow
Meilisearch is an open-source search engine known for its speed and ease of use. It's designed to offer quick and relevant search results, making it a great fit for modern web applications.
-
InfluxDB
Purpose built for real-time analytics at any scale. InfluxDB Platform is powered by columnar analytics, optimized for cost-efficient storage, and built with open data standards.
-
-
Project mention: Ask HN: Lesser-known/underrated cool new web-oriented tech? | news.ycombinator.com | 2024-07-23
I've been surveying the space lately and I re/discovered some really powerful new-ish tech which woke up my tech taste buds and am now looking for more such "tasty" tech (sorry I guess I'm due for a meal soon :P)
Example as starters:
- Qwik and resumable web apps (https://qwik.dev/)
- SurrealDB, maximally flexible multi-model DB (https://surrealdb.com/)
There are others, but I'm trying to keep to the starkest examples and not to influence the discussion too much.
I do think this is the best place to ask such questions - I'm explicitly interested in cutting-edge tech, but the edge doesn't have to be excessively sharp ;).
-
sonic
🦔 Fast, lightweight & schema-less search backend. An alternative to Elasticsearch that runs on a few MBs of RAM.
Sonic search https://github.com/valeriansaliou/sonic
Maybe not exactly the same, its a server that you can store documents and then retrieve their ID using a search string.
-
Project mention: Show HN: Restate, low-latency durable workflows for JavaScript/Java, in Rust | news.ycombinator.com | 2024-06-12
Restate is built as a sharded replicated state machine similar to how TiKV (https://tikv.org/), Kudu (https://kudu.apache.org/kudu.pdf) or CockroachDB (https://github.com/cockroachdb/cockroach) are designed. Instead of relying on a specific consensus implementation, we have decided to encapsulate this part into a virtual log (inspired by Delos https://www.usenix.org/system/files/osdi20-balakrishnan.pdf) since it makes it possible to tune the system more easily for different deployment scenarios (on-prem, cloud, cost-effective blob storage). Moreover, it allows for some other cool things like seamlessly moving from one log implementation to another. Apart from that the whole system design has been influenced by ideas from stream processing systems such as Apache Flink (https://flink.apache.org/), log storage systems such as LogDevice (https://logdevice.io/) and others.
We plan to publish a more detailed follow-up blog post where we explain why we developed a new stateful system, how we implemented it, and what the benefits are. Stay tuned!
-
neon
Neon: Serverless Postgres. We separated storage and compute to offer autoscaling, code-like database branching, and scale to zero.
Neon - neon.tech - Postgres database on cloud
-
Here is another thing worth sharing. Database integration tests on Bazel used to be difficult. Ultimately I've found an elegant solution:
https://github.com/diesel-rs/diesel/blob/master/examples/pos...
The parallel testing with dangling transactions isn't Diesel or Postgres specific. You can do the same with pure SQL and any relational DB that supports transactions.
For CI, BuildBuddy can spin up Docker in a remote execution host, then you write a custom util that tests if the DB container is already running and if not starts one, out that in a test and then let Bazel execute all integration tests in parallel. For some weird reasons, all tests have to be in one file per insolated remote execution host, so I created one per table.
Incremental builds that compile, tests, build and publish images usually complete in about one minute. That's thanks to the 80 Core BuildBuddy cluster with remote cache.
GitHub took about an hour back in April when the repo was half in size.
There is real gain in terms of developer velocity.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
Project mention: SableDb – a key/value store that uses RocksDB and Redis API (written in Rust) | news.ycombinator.com | 2024-04-04
a few times, seems interesting. The author's also built a lot of other cool concurrency primitives for Rust as well.
[0] https://github.com/spacejam/sled
-
databend
𝗗𝗮𝘁𝗮, 𝗔𝗻𝗮𝗹𝘆𝘁𝗶𝗰𝘀 & 𝗔𝗜. Modern alternative to Snowflake. Cost-effective and simple for massive-scale analytics. https://databend.com
Project mention: Top 5 Snowflake Alternatives for Cost-Effective Data Warehousing | news.ycombinator.com | 2024-09-06Check out Databend, an open-source alternative to Snowflake with 90%+ product and syntax similarity (almost no migration cost). It’s cost-effective and powerful.
GitHub: https://github.com/datafuselabs/databend/issues/13059
Comparison: https://www.databend.com/comparison
-
SQL with SeaORM:
-
risingwave
Best-in-class stream processing, analytics, and management. Perform continuous analytics, or build event-driven applications, real-time ETL pipelines, and feature stores in minutes. Unified streaming and batch. PostgreSQL compatible.
Project mention: RisingWave: Process, manage, and analyze event streams with Postgres-style SQL | news.ycombinator.com | 2024-07-18 -
-
materialize
The Cloud Operational Data Store: use SQL to transform, deliver, and act on fast-changing data. (by MaterializeInc)
Materialize | https://materialize.com/ | Staff Security Engineer 200k | $200- 230k
NYC (HQ) or United States
We are looking for a Staff Security Engineer on our Cloud team who will own the security of our infrastructure and product. (5+) years of experience as a security-focused engineer.
https://boards.greenhouse.io/materialize/jobs/5220351004
-
-
greptimedb
An open-source, cloud-native, unified time series database for metrics, logs and events with SQL/PromQL supported. Available on GreptimeCloud.
I believe the primary issue with using full-text search in PostgreSQL is its performance and scalability limitations.
Elasticsearch/OpenSearch offers more than just search functionality; they come with extensive ecosystems, including ELK for logging and tools for ETL pipelines. These platforms are powerful and provide out-of-the-box solutions for developers. However, as the article mentioned, scaling them up or out can be costly.
ParadeDB looks like is based on Tantiv which is an impressive project. We leverage it to implement full-text indexing for GreptimeDB (https://github.com/GreptimeTeam/greptimedb). Nevertheless, building full-text indexes with Tantivy is still resource-intensive. This is why Grafana Loki, which only indexes tags instead of building full-text indexes, is popular in the observability space. In GreptimeDB, we offer users the flexibility to choose whether to build full-text indexes for text fields, while always creating inverted indexes for tags.
-
-
-
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!
Not sure if "production ready" but it's worth looking at Cozo:
https://github.com/cozodb/cozo
Has a dialect of Datalog + some vector support. Multiple storage engines for backend including SQLite, so if your concern is data stability that seems like a reasonable, proven option.
-
GQL
Git Query language is a SQL like language to perform queries on .git files with supports of most of SQL features such as grouping, ordering and aggregations functions
-
-
Project mention: Rainfrog – a database management TUI for Postgres | news.ycombinator.com | 2024-09-16
Looks sleek! But I’m curious, what made you decide that gobang[0] wasn’t cutting it for you?
[0] https://github.com/TaKO8Ki/gobang
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Rust Database discussion
Rust Database related posts
-
Rust in Illumos
-
Sqlc: Compile SQL to type-safe code
-
Top 5 Snowflake Alternatives for Cost-Effective Data Warehousing
-
Introducing DEV++
-
Postgres Foreign Data Wrappers with Wasm
-
I've Built My First Successful Side Project, and I Hate It
-
Postgres Foreign Data Wrappers with WASM
-
A note from our sponsor - SaaSHub
www.saashub.com | 17 Sep 2024
Index
What are some of the best open-source Database projects in Rust? This list will help you:
Project | Stars | |
---|---|---|
1 | MeiliSearch | 46,468 |
2 | InfluxDB | 28,595 |
3 | surrealdb | 26,615 |
4 | sonic | 19,805 |
5 | tikv | 14,998 |
6 | neon | 14,340 |
7 | diesel | 12,536 |
8 | sled | 8,049 |
9 | databend | 7,686 |
10 | sea-orm | 6,946 |
11 | risingwave | 6,784 |
12 | toydb | 6,076 |
13 | materialize | 5,717 |
14 | SpacetimeDB | 4,303 |
15 | greptimedb | 4,182 |
16 | Replibyte | 4,122 |
17 | typedb | 3,755 |
18 | redis-rs | 3,569 |
19 | rust-postgres | 3,433 |
20 | cozo | 3,339 |
21 | GQL | 3,183 |
22 | rusqlite | 3,041 |
23 | gobang | 2,828 |