redb
automerge
redb | automerge | |
---|---|---|
24 | 45 | |
2,934 | 3,134 | |
- | 4.0% | |
9.2 | 9.2 | |
3 days ago | 7 days ago | |
Rust | JavaScript | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
redb
-
Are You Sure You Want to Use MMAP in Your DBMS?
I wrote redb (https://github.com/cberner/redb) using mmap, initially. However, I later removed it and switched to read()/write() with my own user space cache. I'm sure it's not as good as the OS page cache, but the difference was only 1.2-1.5x performance on the benchmarks I cared about, and the cache is less than 500 lines of code.
-
struct_db 0.4.0
exposure of the redb builder functionalities.
-
redb (safe, ACID, embedded, key-value store) 1.0 release!
redb has reached its 1.0 release. The file format is now gauranteed to be backward compatible, and the API is stable. I've run pretty extensive fuzz testing, but please report any bugs you encounter.
-
RFC: redb (embedded key-value store) nearing version 1.0
I'm just now updating the benchmarks in the readme with multi-threaded workloads :) https://github.com/cberner/redb/pull/576
-
Best local database that works on all platforms including web?
redb, but that doesn't have a stable file format yet,
-
What do you recommend for conflict-free replicated data type (CRDT) support in Rust?
I also have to support web, so I'm considering a hybrid approach with a direct IndexedDB API there and something like sqlite, percy, sanakirja, or redb on native.
-
Some key-value storage engines in Rust
Nice list, but don’t forget persy, redb and sanakirja too!
-
Are there a demand for management system of embedded storage like RocksDB? I plan to build one in Rust as the language becoming a core of many popular databases but wonder if there’s a demand. Can’t find any similar project even in other languages.
check out https://github.com/cberner/redb! it is inspired by LMDB and has comparable performance, but is entirely built in rust!
-
Meilisearch just announced its $15M Serie A, the search Rust engine strikes again
Yup, the language is immature in some domains like data replication, compilation time, lifetime expressivity, not having a default async runtime and the incompatibility of all of them. But many of these domains are worked on and improved every day this is why I love this language so much. This is because there is space for improvement. I also hope that one day we will have a pure-Rust LMDB alternative that I can contribute to without fear of C.
-
RFC+AMA: redb, embedded key-value store file format
they are, ya! I'm quite excited about that, and already have a PR open to use GATs. It's not enough to fix this issue though, because std needs to add support for LendingIterator too
automerge
- Automerge CRDT
-
Flutter offline
I'm not aware of any usable CRDT implementations for Dart, my plan is to use the flutter_rust_bridge to make use of automerge v2, which is a full CRDT implementation written in Rust that has the advantage of having a very simple API to work with (basically a key/value store).
- Ask HN: What is new in Algorithms / Data Structures these days?
-
Best local database that works on all platforms including web?
Yes. I asked the devs about ideas for this in this ticket and got an interesting response. It's aimed towards server-side handling, but the same ideas apply to local storage as well.
- Show HN: Pg_CRDT – an experimental CRDT extension for Postgres
-
CRDTs: A Beginner's overview for building a collaborative app
There are a lot of implementations of CRDTs out there. In JavaScript, for instance, we have Y.js (https://github.com/yjs/yjs) and automerge (https://github.com/automerge/automerge). There’s also a Y.js demo (https://demos.yjs.dev/prosemirror/prosemirror.html) that allows you to play around with them and have your own collaborative app running in just a few seconds. All messages are exchange via webRTC and manages the state via CRDTs. This can be a great sandbox to understand how CRDTs work and see.
-
Evan Wallace CRDT Algorithms
Anyone unsure of what a CRDT is, this is the perfect intro: https://www.inkandswitch.com/peritext/
The two most widely used CRDT implementations (combining JSON like general purpose types and rich text editing types) are:
- Automerge https://github.com/automerge/automerge
- Yjs https://github.com/yjs/yjs
-
Should I Move From PHP to Node/Express?
For instance, practicing "local first web" using automerge with all it's Distributed Persistence Primitives on CRDT's and Vector Clocks - i.e. when the Browser View is treated like a Database replica, essentially; or adopting a real data mapper that's giving you an API from your database Schema, using Prisma or Hasura... or even implementing a custom codegenereted one, as a babel plugin, on top of TSED and Micro-ORM.
- Maintaining Referential Integrity During Insertions And Deletions
- Muse 2.0
What are some alternatives?
sled - the champagne of beta embedded databases
yjs - Shared data types for building collaborative software
heed - A fully typed LMDB wrapper with minimum overhead 🐦
crdt-benchmarks - A collection of CRDT benchmarks
nebari - A pure Rust database implementation using an append-only B-Tree file format.
y-websocket - Websocket Connector for Yjs
ab-av1 - AV1 re-encoding using ffmpeg, svt-av1 & vmaf.
FluidFramework - Library for building distributed, real-time collaborative web applications
tokio-uring - An io_uring backed runtime for Rust
slate-yjs - Yjs binding for Slate
rust - Empowering everyone to build reliable and efficient software.
SyncedStore - SyncedStore CRDT is an easy-to-use library for building live, collaborative applications that sync automatically.