Popularity
5.4
Declining
Activity
1.8
-
328
16
57

Programming language: Rust
License: GNU General Public License v3.0 or later
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.
Alternatively, view cdrs alternatives based on common mentions on social networks and blogs.

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 looking for maintainers

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.