latte
ScyllaDB Async Rust Driver
latte | ScyllaDB Async Rust Driver | |
---|---|---|
4 | 10 | |
169 | 528 | |
- | 2.1% | |
4.1 | 9.6 | |
about 1 month ago | 7 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.
latte
-
Fast memory vulnerabilities, written in 100% safe Rust
This tool is probably the fastest in its class - does this code look like having a lot of lifetimes or other cryptic syntax?
- https://github.com/pkolaczk/latte/blob/main/src/main.rs
- https://github.com/pkolaczk/latte/blob/main/src/exec.rs
There was one fundamental "aha" moment for me when it clicked: move semantics.
-
The mindless tyranny of “what if it changes?” as a software design principle
> Does https://github.com/pkolaczk/latte count?
This is just Rust code. Where is the equivalent Java code?
> Or the Optional cost described on my blog here: https://pkolaczk.github.io/overhead-of-optional/?
Why aren't you using OptionalLong[1]? You shouldn't use Optional, that's never a good choice. At any rate, nobody should be claiming Java optionals are are free, they're a high level abstraction and absolutely do not belong in hot codepaths.
In general it's fairly easy to construct benchmarks that favor any particular language, which is why you constantly see these blog posts about how high level interpreted languages (JS, Haskell) are faster than C++.
> And what do I do with that knowledge if it turns out the optimization didn't happen?
The way the JIT works is by aggressively overassuming, and then recompiling with more generalized interpretations of the code when assumptions turn out to be false. But the wider problems of compilers occasionally generating suboptimal instructions isn't something that is Java specific.
[1] https://docs.oracle.com/en/java/javase/12/docs/api/java.base...
-
Async Rust in Practice: Performance, Pitfalls, Profiling
A few weeks ago, an interesting issue appeared on our GitHub tracker. It was reported that, despite our care in designing the driver to be efficient, it proved to be unpleasantly slower than one of the competing drivers, cassandra-cpp, which is a Rust wrapper of a C++ CQL driver. The author of latte, a latency tester for Cassandra (and Scylla), pointed out that switching the back-end from cassandra-cpp to scylla-rust-driver resulted in an unacceptable performance regression. Time to investigate!
ScyllaDB Async Rust Driver
- I've incidentally created one of the fastest bounded MPSC queue
- Catalytic, a Rust ORM for ScyllaDb
-
Problem using Command
I want to replicate this line in `Command` (from https://github.com/scylladb/scylla-rust-driver/pull/489/files):
-
cdrs VS scylla-rust-driver - a user suggested alternative
2 projects | 5 Mar 2022
Client-side driver for ScyllaDB written in pure Rust with a fully async API using Tokio. Takes advantage of ScyllaDB's shard-per-core architecture for low-latency distributed apps.
-
We’re Porting Our Database Drivers to Async Rust
Our Rust driver started as a humble hackathon project, but it has eventually grown to become our fastest and safest Cassandra Query Language (CQL) driver. We happily observed in our benchmarks that our ScyllaDB Rust Driver beats even the reference C++ driver in terms of raw performance, and that gave us an idea — why not unify all drivers to use Rust underneath?
-
Async Rust in Practice: Performance, Pitfalls, Profiling
A few weeks ago, an interesting issue appeared on our GitHub tracker. It was reported that, despite our care in designing the driver to be efficient, it proved to be unpleasantly slower than one of the competing drivers, cassandra-cpp, which is a Rust wrapper of a C++ CQL driver. The author of latte, a latency tester for Cassandra (and Scylla), pointed out that switching the back-end from cassandra-cpp to scylla-rust-driver resulted in an unacceptable performance regression. Time to investigate!
-
Any good, lightweight NoSQL databases with a Rust client/API and friendly licensing?
https://github.com/scylladb/scylla-rust-driver perhaps? No sure about licensing though
- New open-source CQL driver for Rust – 0.1.0
- Scylla Developer Hackathon: Rust Driver
What are some alternatives?
FizzBuzzEnterpris
rust-postgres - Native PostgreSQL driver for the Rust programming language
FizzBuzz Enterprise Edition - FizzBuzz Enterprise Edition is a no-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes.
kanal - The fast sync and async channel that Rust deserves
cve-rs - Blazingly 🔥 fast 🚀 memory vulnerabilities, written in 100% safe Rust. 🦀
cdrs - Cassandra DB native client written in Rust language. Find 1.x versions on https://github.com/AlexPikalov/cdrs/tree/v.1.x Looking for an async version? - Check WIP https://github.com/AlexPikalov/cdrs-async
Catalytic - 🚀 Catalytic is an ORM for ScyllaDb and Cassandra which provides zero-cost abstractions for querying and generating Rust structs based on the database. Scylla and Cassandra are both NoSQL databases which can scale horizontally and hold large amounts of data.
scylla2 - Yet another ScyllaDB Rust driver, but faster
scyllapy - Asyncronous modern python client for Cassandra and Scylla
swap-buffer-queue - A buffering MPSC queue.
charybdis - Rust ORM for Scylla and Apache Cassandra
miri - An interpreter for Rust's mid-level intermediate representation