Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cassandra Native Binary Protocol Performance

I'm currently planning a migration of a fairly large MongoDB deployment (~25 big servers spread across a few datacentres) to Cassandra. I saw that Cassandra 1.2 features a relatively new native binary protocol, and it seems that this is the future of the project. It looked good when I read about it, but I've recently been testing it against a straightforward Thrift based client, and the Thrift client has substantially outperformed it in every test. My question is in what scenario does the native binary protocol / client outperform the Thrift one, and is anyone using it in production?

Here's an example benchmark:

Local 3 node cluster (created using ccm), with 10 client threads spamming it
Total throughput (write, read) [total ops in 5 minutes]:
Binary: 3,316,725.0   2,179,193.0 
Thrift:  7,310,482.0   2,872,528.0 
like image 533
Phil Avatar asked Jan 23 '13 17:01

Phil


1 Answers

The binary protocol is not used when you use an existing client as Astyanax or Hector. You may take a look to java-driver. It is not yet released but it is working properly, as far as I tested.

like image 131
devsprint Avatar answered Oct 13 '22 23:10

devsprint