I am currently planning to move a fairly large MongoDB deployment (~ 25 large servers located across multiple data centers) to Kassandra. I saw that Cassandra 1.2 has a relatively new proprietary binary protocol, and it seems that this is the future of the project. It was good when I read about it, but I recently tested it against a simple Trrift-based client, and the Thrift client exceeded it significantly in every test. My question is, in which scenario does the native binary protocol / client outperform Thrift and does anyone use it in production?
Here is an example:
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
source share