ScyllaDB Developer Hackathon: Rust Driver
Blog post from ScyllaDB
ScyllaDB's internal hackathon led to the development of a new shard-aware Rust driver for CQL, aiming to fulfill rigorous expectations such as asynchronicity, token-aware routing, and shard-aware routing specifically optimized for ScyllaDB. Existing Rust drivers like cdrs and cassandra-rs did not meet these standards, prompting the creation of an async CQL driver in pure Rust, free from unsafe code. The driver, built using Rust's async/await mechanism and the Tokio framework, supports establishing CQL sessions, executing queries, and fetching cluster topology information, enhancing performance by directing requests to the appropriate nodes and CPU cores. During the development, a bug in the murmur3 hashing algorithm was intentionally replicated to ensure compatibility with Apache Cassandra. Benchmarks indicate superior performance compared to other drivers like GoCQL and cdrs. As the project progresses, a team from the University of Warsaw will continue development, focusing on features like CQL authentication and TLS support, while the official roadmap outlines future enhancements such as CQL tracing and speculative execution.