For what reasons it is not preferable to use Thrift API for Cassandra access?
Please enumerate reasons for why its not advisable to use Thrift 开发者_StackOverflow社区interface for Cassandra? What are the possible advantages and disadvantages?
If you use the raw Thrift apis the cons will be:
- no connection pooling
- no monitoring
- no object oriented interface (not entirely true)
- no failover support
To continue Schildmeijer's good start:
- No batch interface.
- No chunking of get_range_slices() or get_indexed_slices() so you can easily swamp Cassandra
- Non-string types must be packed into binary strings yourself
- You'll probably mess up timestamp precision
- Exception messages are generally useless
- Thrift is broken by default in some languages. See the PHP C extension, for example.
- Because the code is generated, it's not intuitive, especially regarding super columns, SlicePredicates and batch_mutate().
- Schema modification commands don't wait for schema agreement among all the nodes in the cluster
精彩评论