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
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With