Rust Database

Open-source Rust projects categorized as Database

Top 23 Rust Database Projects

  • MeiliSearch

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

    Project mention: Create a ChatBot with VertexAI and LibreChat | dev.to | 2023-11-02

    With the VertexAI endpoint set up and tested, our next step is to work with LibreChat. LibreChat is an open-source ChatGPT clone that can integrate with various AI models, including the PaLM 2 models via the VertexAI API. It's built using React, MongoDB, and Meilisearch technologies.

  • InfluxDB

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

    Project mention: InfluxDB is an open source time series database written in Rust | news.ycombinator.com | 2023-10-03
  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

  • surrealdb

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

    Project mention: SurrealDB 1.0 | news.ycombinator.com | 2023-10-29

    1.0 version but https://github.com/surrealdb/surrealdb/issues/1548 is still open :)

  • sonic

    🦔 Fast, lightweight & schema-less search backend. An alternative to Elasticsearch that runs on a few MBs of RAM.

    Project mention: sonic: Fast, lightweight & schema-less search backend. An alternative to Elasticsearch that runs on a few MBs of RAM. | /r/programming | 2023-10-27
  • 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 ) .

  • diesel

    A safe, extensible ORM and Query Builder for Rust

    Project mention: People who use rust and postgres in production along with RDS proxy, what do you do? | /r/rust | 2023-11-15

    Both seem nice. However, both of them rely very heavily on prepared statements. Unfortunately, using prepared statements is a no-go when you use connection poolers like pgbouncer, or in my case AWS RDS proxy. A discussion in Diesel indicates that disel is not going to provide any support for disabling prepared stements (https://github.com/diesel-rs/diesel/discussions/3575), and a discussion on sqlx hints that disabling prepared statements is possible, but I haven't found any documentation or examples for it.

  • neon

    Neon: Serverless Postgres. We separated storage and compute to offer autoscaling, branching, and bottomless storage.

    Project mention: Show HN: HighContext.ai – Serverless JSON Blob Storage | news.ycombinator.com | 2023-11-16

    When a blob is saved, first I write it to Postgres (https://neon.tech), so ensures there's a persisting backup. However, it's typically a waste of money to store infrequently accessed blobs in disk with Postgres over months and years. After 4-6 weeks data is offloaded to object storage - so that you benefit from low long term storage costs.

    The lifecycle of a blob works out roughly something like as follows, based on last read date:

    < 30 mins ago

  • Onboard AI

    Learn any GitHub repo in 59 seconds. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at www.getonboard.dev.

  • sled

    the champagne of beta embedded databases

    Project mention: RFC: redb (embedded key-value store) nearing version 1.0 | /r/rust | 2023-05-10

    Sled uses bw-tree actually https://github.com/spacejam/sled/wiki/sled-architectural-outlook

  • databend

    Modern alternative to Snowflake. Cost-effective and simple for massive-scale analytics. Cloud: https://databend.com

    Project mention: I Accidentally Saved My Company Half a Million Dollars | news.ycombinator.com | 2023-10-30

    Indeed, under a pay-as-you-go model, if there's a lack of precise control over the warehouse, such as a 10-minute suspension, it could lead to significant waste. This is because most queries might only take a few seconds, and the rest of the time is wasted. If you find Snowflake expensive, consider Databend. It's an open-source, cost-efficient alternative to Snowflake, and it maintains a consistent product experience with Snowflake.

    Open-source: https://github.com/datafuselabs/databend

  • 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.

  • risingwave

    The streaming database: redefining stream processing 🌊. PostgreSQL-compatible, highly performant, scalable, elastic, and reliable ☁️.

    Project mention: RisingWave's Roadmap - Redefining Stream Processing with the Rust-Built Streaming Database | /r/rust | 2023-11-02

    Hey everyone - One and a half year ago, we open sourced RisingWave, a Rust-built streaming database, under Apache 2.0 license. Two weeks ago, we released RisingWave 1.3. Just last week, we unveiled RisingWave's roadmap.

  • materialize

    The data warehouse for operational workloads. (by MaterializeInc)

    Project mention: We Built a Streaming SQL Engine | news.ycombinator.com | 2023-10-21

    Some recent solutions to this problem include Differential Dataflow and Materialize. It would be neat if postgres adopted something similar for live-updating materialized views.

    https://github.com/timelydataflow/differential-dataflow

    https://materialize.com/

  • sea-orm

    🐚 An async & dynamic ORM for Rust

    Project mention: Hyper – A fast and correct HTTP implementation for Rust | news.ycombinator.com | 2023-05-12

    Haven't used it myself, but https://github.com/SeaQL/sea-orm seems to be popular in some communities and async

  • Replibyte

    Seed your development database with real data ⚡️

    Project mention: Ask HN: What's your favorite rust binaries? | news.ycombinator.com | 2023-03-01

    I like rust binaries because they are cross-platform. I've found cool ones like

    - https://github.com/static-web-server/static-web-server/

    - https://github.com/Qovery/Replibyte

    If you know any repos where I may find compilation of tools I'll be thankful!

  • greptimedb

    An open-source, cloud-native, distributed time-series database with PromQL/SQL/Python supported.

    Project mention: What's everyone working on this week (49/2023)? | /r/rust | 2023-12-05

    Continuing to work hard on a new MetricEngine in GreptimeDB. BTW, If you have a keen interest in Rust or database development, GreptimeDB might be a good starting point. Check it out for some good first issues here.

  • 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.

  • SpacetimeDB

    Multiplayer at the speed of light

    Project mention: SpacetimeDB v0.7 Released: WebAssembly stored procedure database | /r/programming | 2023-10-16
  • rust-postgres

    Native PostgreSQL driver for the Rust programming language

    Project mention: PostgreSQL Logical Replication Explained | news.ycombinator.com | 2023-03-18

    For C there should be good options.

    For Rust it doesn't appear that well-supported.

    A very simple approach is to poll for changes using `pg_logical_slot_get_changes()` - that should work with any driver. That's what I used for my initial experimentation, before switching over to the streaming replication protocol for better performance.

    The streaming replication protocol is not that complicated, but currently you'll have to handle some of the low-level protocol yourself, or work with some very experimental implementations. There's a project to help get you started at [1], and some more discussion at [2].

    For the logical decoder, wal2json is quite nice to experiment with, but I've found pgoutput is not that complicated and gives you something closer to the raw data.

    [1]: https://github.com/seddonm1/logicaldecoding/

    [2]: https://github.com/sfackler/rust-postgres/issues/116

  • cozo

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

    Project mention: The Ten Rules of Schema Growth | news.ycombinator.com | 2023-10-31

    I've been keeping an eye on https://github.com/cozodb/cozo which is pretty close to something I've wanted, a sqlite version of datalog/datomic.

  • 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
  • gobang

    A cross-platform TUI database management tool written in Rust

    Project mention: Is there any terminal based database manager? | /r/linuxquestions | 2023-03-14

    Hello! So far I have seen tools like mycli or gobang, but I was wondering if there were more tools for database management from the terminal? Either for relational or non-relational databases.

  • rusqlite

    Ergonomic bindings to SQLite for Rust

    Project mention: Rusty way to store state for CLIs | /r/learnrust | 2023-06-25

    If you're less concerned about the "structure" of your data (e.g., serializing into rust types) and just need tabular data that can be queried (e.g., how much did we bet on X date, who placed a bet on Y team, etc.) I would definitely lean more towards a SQLite database for that kind of work. rusqlite can get you a functional database fairly quickly with a little reading of the documentation (be sure to use the "bundled" feature).

  • 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 2023-12-05.

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 40,091
2 InfluxDB 26,778
3 surrealdb 23,513
4 sonic 18,819
5 tikv 13,849
6 diesel 11,249
7 neon 10,483
8 sled 7,435
9 databend 6,754
10 toydb 5,521
11 risingwave 5,471
12 materialize 5,412
13 sea-orm 5,397
14 Replibyte 3,826
15 greptimedb 3,237
16 redis-rs 3,235
17 SpacetimeDB 3,173
18 rust-postgres 3,120
19 cozo 2,809
20 gluesql 2,500
21 gobang 2,471
22 rusqlite 2,462
23 horaedb 2,290
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com