Skip to content

Compare and Contrast Datastax java drivers for CQL with Astyanax thrift support for java.

Notifications You must be signed in to change notification settings

goru97/DatastaxVsAstyanax

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 

Repository files navigation

DatastaxVsAstyanax

Compare and Contrast Datastax java drivers for CQL with Astyanax thrift support for java.

#Moving on from Astyanax to Datastax:

This is the description of the tests performed to monitor the performance of both Datastax Java-Driver and Astyanax Driver for Cassandra so as to make a decision regarding replacing the current Astyanax Driver used by Blueflood with Datastax Driver.

#Environment Setup: • Compute Machines:

Four Rackspace’s On-metal Compute machines with the following configuration:
CPU
2.8 Ghz, 10 core Intel® Xeon® E5-2680 v2
RAM
32 GB
System Disk
32 GB
Network
Redundant 10 Gb / s connections in a high availability bond
Each for Read using Astyanax, Read using Datastax, Write using Astyanax, Write using Datastax

• Cassandra Cluster:

Cassandra (Version 2.0) cluster with six nodes and one seed node was spun using Rackspace’s Cassandra Orchestration stack. Each node with following configuration:
CPU
8 vCPUs
RAM
30 GB
System Disk
1.2 TB
Network
1.2 Gb / s

• Keyspace and Table:

CREATE KEYSPACE "DATA" WITH replication = {
'class': 'SimpleStrategy',
'replication_factor': '3'
};

use "DATA";

CREATE TABLE metrics_full (
key text,
column1 bigint,
value blob,
PRIMARY KEY ((key), column1)
) WITH COMPACT STORAGE AND
bloom_filter_fp_chance=0.010000 AND
caching='KEYS_ONLY' AND
comment='' AND
dclocal_read_repair_chance=0.100000 AND
gc_grace_seconds=864000 AND
index_interval=128 AND
read_repair_chance=0.000000 AND
replicate_on_write='true' AND
populate_io_cache_on_flush='false' AND
default_time_to_live=0 AND
speculative_retry='NONE' AND
memtable_flush_period_in_ms=0 AND
compaction={'class': 'SizeTieredCompactionStrategy'} AND
compression={'sstable_compression': 'LZ4Compressor'};

• Graphite:

Graphite was used as a time-series database to store the metrics generated during the test.

• Grafana: To monitor the metrics using nice Graphs.

#Running the program using maven:
Clone the Repo.
mvn clean install
mvn exec:java -Dexec.args="'astyanax' 'read'" (For Read Operations using Astyanax Drivers).
mvn exec:java -Dexec.args="'datastax' 'read'" (For Read Operations using Datastax Drivers).
mvn exec:java -Dexec.args="'astyanax' 'write'" (For Write Operations using Astyanax Drivers).
mvn exec:java -Dexec.args="'datastax' 'write'" (For Write Operations using Datastax Drivers).

#Results:

##Batch Writes:
• Batch Size 20:
###Datastax Leading alt tag

• Batch Size 15:
###Datastax ~= Astyanax alt tag

• Batch Size 10:
###Astyanax Leading alt tag

• Batch Size 5:
###Astyanax Leading alt tag

##Single Writes using prepared statement (without using batches):
###Datastax Leading alt tag alt tag

About

Compare and Contrast Datastax java drivers for CQL with Astyanax thrift support for java.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages