4个版本
0.0.4 | 2024年7月11日 |
---|---|
0.0.3 | 2023年6月5日 |
0.0.2 | 2023年3月29日 |
0.0.1 | 2022年12月15日 |
847 在 数据库接口 中排名
每月 122 次下载
在 scylla 中使用
655KB
15K SLoC
ScyllaDB Rust驱动程序
这是一个用纯Rust编写的ScyllaDB客户端驱动程序,具有使用Tokio的完全异步API。虽然针对ScyllaDB进行了优化,但该驱动程序也与Apache Cassandra®兼容。
注意:此驱动程序正式受支持,但目前处于测试版。欢迎提交错误报告和拉取请求!
入门
请从文档手册开始。Scylla University上的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感知路由
- 分片感知路由(特定于ScyllaDB)
- 预编译语句
- 查询分页
- 压缩(LZ4和Snappy算法)
- CQL二进制协议版本4
- 批处理语句
- 可配置的负载均衡策略
- 驱动程序端指标
- TLS支持 - 如果要使用它,请安装openssl https://docs.rs/openssl/0.10.32/openssl/#automatic
- 可配置的重试策略
- 身份验证支持
- CQL跟踪
持续努力
- CQL事件
- 更多测试
- 更多基准测试
获取帮助
请加入ScyllaDB Slack上的#rust-driver
频道,讨论您可能遇到的任何问题或疑问。
支持的Rust版本
我们驱动程序支持的最小Rust版本(MSRV)为1.66.0。任何更改都将明确公布,并且仅发生在主要版本发布期间。
参考文档
- CQL二进制协议版本4
其他驱动程序
- cdrs-tokio:纯Rust编写的Apache Cassandra驱动程序。
- cassandra-rs:Apache Cassandra的C++驱动程序的Rust封装。DataStax C++ driver。
许可证
本项目受以下任一许可证的许可
- Apache License,版本2.0,(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
由您选择。
依赖
~7–16MB
~197K SLoC