bonsaidb
roaring-rs
Our great sponsors
- Onboard AI - Learn any GitHub repo in 59 seconds
- InfluxDB - Collect and Analyze Billions of Data Points in Real Time
- SaaSHub - Software Alternatives and Reviews
bonsaidb | roaring-rs | |
---|---|---|
25 | 12 | |
917 | 644 | |
1.4% | 0.9% | |
0.0 | 8.2 | |
2 days ago | 15 days ago | |
Rust | Rust | |
Apache License 2.0 | Apache License 2.0 |
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.
bonsaidb
-
Some key-value storage engines in Rust
What about https://github.com/khonsulabs/bonsaidb? Progress seems stall since last summer but very cool project
-
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.
There is Nebari which is the KV part of BonsaiDB I've used both successfully (and that is currently in production)
-
Is `inlining` a function essentially the same thing as writing a macro?
In BonsaiDb, I define entire test suites as macros. This crate has a common trait that has multiple implementations in different crates. Each implementation needs to be tested thoroughly. For cargo test to be able to work in each crate independently, I needed to have the #[test]-annotated functions in the crate being built. By using a macro, I can define the functions in one location and invoke the macro in each crate to import the test suite into that crate.
-
What's everyone working on this week (12/2022)?
I'm finishing up a large refactor of BonsaiDb which will add support for using BonsaiDb in non-async code.
-
What's everyone working on this week (10/2022)?
I'm working on a major refactoring of BonsaiDb, aiming to improve the design of several interrelated features. While it started by aiming to enable a non-async interface for BonsaiDb, I realized mid-refactor that another major refactor would be better to do simultaneously rather than separately. Thank goodness that refactoring in Rust is such a wonderful experience!
-
Announcing BonsaiDb v0.1.0: A Rust NoSQL database that grows with you
For collections, we haven't addressed migrations yet. It's one of the higher priority things on my mind, however, so it probably will be in the next release.
It depends on what you mean by "support graphs". If you mean support the abillity to build a GraphQL interface in front of it, yes that is already possible in a limited fashion, although there are no first-class relationship types yet.
Replication is not implemented yet.
The README has a link to the code coverage report. There is a common test suite that is run across all mechanisms that database access is offered, and there are additional crate-specific tests as needed.
-
What's everyone working on this week (5/2022)?
I'm trying to release the first alpha of BonsaiDb. I'm wrapping up replacing OPAQUE with Argon2, in an effort to make upgrading less likely to cause issues in the future (given that OPAQUE is still a draft protocol). I still love OPAQUE and will bring it back in the future.
roaring-rs
-
We’re the Meilisearch team! To celebrate v1.0 of our open-source search engine, Ask us Anything!
There are issues and pull requests but I advise you to look at the milli folder in the Meilisearch repository, it’s where all the logic is done. We extensively use RoaringBitmaps, heed the LMDB wrapper and grenad when indexing.
-
Roaring-rs, better-compressed bitsets, is seeing the most important performance speed-up to date
I am sure that /u/saik0 can answer with a thorough response here but in the broad lines, we introduced raw simd calls by using the core::simd module. That discussion can be seen in one of our issues about introducing SIMD in this crate.
On some benchmarks, we are faster but most of the time we aren't. We absolutely need to introduce benchmarks with the croaring-rs library and most of those performances gain could also be achieved with other methods to do multi-ops for example.
Sorry, should have searched first. See https://github.com/RoaringBitmap/roaring-rs/issues/204
-
What’s everyone working on this week (9/2022)?
We tried to release the new version of roaring-rs, better compressed bitset in Rust, but found out that the core library simd module was blocking us. We now have to work on std::simd to release the blocking features.
-
Meilisearch, the Rust search engine, just raised $5M
Yeah, it can be attributed to using the roaring-rs library, but not just that, we have done so much to improve the search performances by reducing the number of set-operations we do.
-
Improving GitHub Code Search
Given the shoutouts to Burntsushi and Lemire this is almost certainly a bitmap trigram index based engine similar to https://github.com/google/zoekt
The index is likely based on Roaring bitmaps, presumably https://github.com/RoaringBitmap/roaring-rs in this case.
Nice architecture, exactly how I would have done it also.
-
What's everyone working on this week (17/2021)?
I have worked on roaring-rs, a very fast library to do set operations like unions and intersections, and improved the four operations by using the standard ops traits.
-
What’s everyone working on this week (13/2021)?
I have implemented a better way of specifying ranges to be inserted or removed from a RoaringBitmap by using the RangeBounds trait. The roaring-rs library exposes fast data-structures to do set operations, like intersections and unions.
What are some alternatives?
generic-array - Generic array types in Rust
array_tool - Array helpers for Rust's Vector and String types
croaring-rs - Rust FFI wrapper for CRoaring
sled - the champagne of beta embedded databases
tokei - Count your code, quickly.
cosmicverge - A systematic, sandbox MMO still in the concept phase. Will be built with Rust atop BonsaiDb and Gooey
cpp-from-the-sky-down
nym - Manipulate files en masse using patterns.
milli - Search engine library for Meilisearch ⚡️
nym - Nym provides strong network-level privacy against sophisticated end-to-end attackers, and anonymous transactions using blinded, re-randomizable, decentralized credentials.
base_custom - Rust implementation of custom numeric base conversion.
mozsearch - Mozilla code search website. (Please file bugs in bugzilla at https://mzl.la/2YtXmoN)