Rust Database

Open-source Rust projects categorized as Database

Top 23 Rust Database Projects

  • MeiliSearch

    A lightning-fast search API that fits effortlessly into your apps, websites, and workflow

    Project mention: Publish/Subscribe with Sidekiq | dev.to | 2024-02-21

    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.

  • InfluxDB

    Scalable datastore for metrics, events, and real-time analytics

    Project mention: Quant Research of the Week (5th Edition) | /r/quant | 2023-12-07

    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.

  • surrealdb

    A scalable, distributed, collaborative, document-graph database, for the realtime web

    Project mention: Task tracker application using NextJS and SurrealDB | dev.to | 2024-01-21

    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.

    Project mention: What is Hybrid Search? | dev.to | 2024-02-06

    Sonic - a project written in Rust, uses custom network communication protocol for fast communication between the client and the server.

  • tikv

    Distributed transactional key-value database, originally created to complement TiDB

    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-15

    Migrated away when they removed the free tier, ended up using https://neon.tech/

  • diesel

    A safe, extensible ORM and Query Builder for Rust

    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.

  • sled

    the champagne of beta embedded databases

    Project mention: Is Something Bugging You? | news.ycombinator.com | 2024-02-13

    - 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

    Project mention: Solutions to manage runaway Snowflake costs? | news.ycombinator.com | 2024-01-16

    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-30

    How does this compare to RisingWave and Materialize?

    https://github.com/risingwavelabs/risingwave

  • sea-orm

    🐚 An async & dynamic ORM for Rust

    Project mention: Rust GraphQL APIs for NodeJS Developers: Introduction | dev.to | 2024-02-08

    SQL with SeaORM:

  • toydb

    Distributed SQL database in Rust, written as a learning project

    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.

  • materialize

    The data warehouse for operational workloads. (by MaterializeInc)

    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.

  • Replibyte

    Seed your development database with real data ⚡️

  • SpacetimeDB

    Multiplayer at the speed of light

    Project mention: What if an SQL Statement Returned a Database? | news.ycombinator.com | 2023-12-12

    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
  • redis-rs

    Redis library for rust

    Project mention: Meet Fred: The most awesome Redis client for Rust. | dev.to | 2023-10-18

    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.

  • rust-postgres

    Native PostgreSQL driver for the Rust programming language

  • cozo

    A transactional, relational-graph-vector database that uses Datalog for query. The hippocampus for AI!

    Project mention: Learn Datalog Today | news.ycombinator.com | 2024-01-21
  • rusqlite

    Ergonomic bindings to SQLite for Rust

    Project mention: SQLite + Rust: Building a CLI Password Vault 🦀 | dev.to | 2024-03-15

    "Rusqlite is an ergonomic wrapper for using SQLite from Rust." - Crates.io

  • gobang

    A cross-platform TUI database management tool written in Rust

    Project mention: Ratatui | news.ycombinator.com | 2023-12-10

    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?

  • gluesql

    GlueSQL is quite sticky. It attaches to anywhere.

    Project mention: GlueSQL v0.14 Release - Schemaless data support and the official doc website | /r/rust | 2023-05-30
  • incubator-horaedb

    HoraeDB is a high-performance, distributed, cloud native time-series database.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2024-03-15.

Rust Database related posts

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
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com