28 个版本
新版本 0.13.2 | 2024年8月22日 |
---|---|
0.13.1 | 2024年7月11日 |
0.13.0 | 2024年5月9日 |
0.12.0 | 2024年2月2日 |
0.2.1 | 2021年7月26日 |
#27 在 数据库接口 中
122,290 每月下载量
用于 42 个 包(直接使用 31 个)
1.5MB
37K SLoC
ScyllaDB Rust 驱动
这是一个纯 Rust 编写的客户端驱动程序,用于 ScyllaDB,具有完全异步的 API,使用 Tokio。虽然针对 ScyllaDB 进行了优化,但该驱动程序也与 Apache Cassandra® 兼容。
注意:此驱动程序已官方支持,但目前处于 beta 版本。欢迎提交错误报告和拉取请求!
入门
《文档手册》是入门的好地方。另一个有用的资源是 Scylla 大学上的 Rust 和 Scylla 课程。
示例
let uri = "127.0.0.1:9042";
let session: Session = SessionBuilder::new().known_node(uri).build().await?;
let result = session.query("SELECT a, b, c FROM ks.t", &[]).await?;
let mut iter = result.rows_typed::<(i32, i32, String)>()?;
while let Some((a, b, c)) = iter.next().transpose()? {
println!("a, b, c: {}, {}, {}", a, b, c);
}
请参阅完整的 示例程序 获取更多信息。如果您有一个正在运行的 Scylla 服务器,您也可以按如下方式运行示例:
SCYLLA_URI="127.0.0.1:9042" cargo run --example basic
所有示例均可在 examples 目录中找到
功能和路线图
该驱动程序支持以下功能
- 异步 API
- Token-aware 路由
- Shard-aware 路由(特定于 ScyllaDB)
- 预编译语句
- 查询分页
- 压缩(LZ4 和 Snappy 算法)
- CQL 二进制协议版本 4
- 批量语句
- 可配置的负载均衡策略
- 驱动程序端指标
- TLS 支持 - 如果要使用它,请安装 openssl https://docs.rs/openssl/0.10.32/openssl/#automatic
- 可配置的重试策略
- 身份验证支持
- CQL 追踪
正在进行的工作
- CQL 事件
- 更多测试
- 更多基准测试
获取帮助
请加入 #rust-driver
频道在 ScyllaDB Slack,讨论您可能遇到的任何问题或疑问。
支持的 Rust 版本
我们的驱动程序最低支持的 Rust 版本(MSRV)是 1.66.0。任何更改都将明确发布,并且只会发生在主要版本发布期间。
参考文档
- CQL 二进制协议 版本 4
其他驱动程序
- cdrs-tokio:用纯 Rust 编写的 Apache Cassandra 驱动程序。
- cassandra-rs:Apache Cassandra 的 DataStax C++ 驱动程序的 Rust 封装。查看 DataStax C++ 驱动程序。
许可证
此项目根据您的选择受以下许可证之一约束:
- Apache 许可证 2.0 版,(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
依赖项
~8–19MB
~255K SLoC