Popularity
5.6
Growing
Activity
7.0
Declining
265
11
53

Monthly Downloads: 651
Programming language: Rust
License: MIT License
Tags: Database     Db     Nosql     Cassandra     Client     Cassandradb     Driver    
Latest version: v3.0.0-beta.2

cdrs alternatives and similar packages

Based on the "Cassandra" category

Do you think we are missing an alternative of cdrs or a related project?

Add another 'Cassandra' Package

README

CDRS crates.io version Build Status Build status

CDRS is Apache Cassandra driver written in pure Ru*s*t.

💡Looking for an async version?

Features

  • TCP/SSL connection;
  • Load balancing;
  • Connection pooling;
  • LZ4, Snappy compression;
  • Cassandra-to-Rust data deserialization;
  • Pluggable authentication strategies;
  • ScyllaDB support;
  • Server events listening;
  • Multiple CQL version support (3, 4), full spec implementation;
  • Query tracing information.

Documentation and examples

  • [User guide](./documentation).
  • [Examples](./examples).
  • API docs (release).
  • Using ScyllaDB with RUST lesson.

Getting started

Add CDRS to your Cargo.toml file as a dependency:

cdrs = { version = "2" }

Then add it as an external crate to your main.rs:

extern crate cdrs;

use cdrs::authenticators::NoneAuthenticator;
use cdrs::cluster::session::{new as new_session};
use cdrs::cluster::{ClusterTcpConfig, NodeTcpConfigBuilder};
use cdrs::load_balancing::RoundRobin;
use cdrs::query::*;

fn main() {
  let node = NodeTcpConfigBuilder::new("127.0.0.1:9042", NoneAuthenticator {}).build();
  let cluster_config = ClusterTcpConfig(vec![node]);
  let no_compression =
    new_session(&cluster_config, RoundRobin::new()).expect("session should be created");

  let create_ks: &'static str = "CREATE KEYSPACE IF NOT EXISTS test_ks WITH REPLICATION = { \
                                 'class' : 'SimpleStrategy', 'replication_factor' : 1 };";
  no_compression.query(create_ks).expect("Keyspace create error");
}

This example configures a cluster consisting of a single node, and uses round robin load balancing and default r2d2 values for connection pool.

License

This project is licensed under either of

at your option.


*Note that all licence references and agreements mentioned in the cdrs README section above are relevant to that project's source code only.