为什么不推荐使用Thrift API访问Cassandra?

4
请列举不建议使用Thrift接口访问Cassandra的原因?可能的优缺点是什么?
不建议使用Thrift接口访问Cassandra的原因如下: 1. Thrift接口已经过时,不再得到官方支持。 2. Thrift接口性能较差,无法充分利用Cassandra的新功能。 3. Thrift接口不支持一些CQL语言特性,如用户定义类型和批处理语句。
可能的优点是: 1. Thrift接口可以与旧版本的Cassandra兼容。 2. Thrift接口可以通过多种编程语言进行访问。
可能的缺点是: 1. Thrift接口不支持新的Cassandra特性。 2. Thrift接口性能较差,可能会影响应用程序的性能。
2个回答

4

如果您使用原始的Thrift API,那么缺点将会是:

  • 没有连接池
  • 没有监控
  • 没有面向对象的接口(不完全准确)
  • 没有故障转移支持

3

接着 Schildmeijer 的好开端:

  • 没有批量接口。
  • get_range_slices() 或 get_indexed_slices() 没有分块处理,容易导致 Cassandra 被淹没。
  • 非字符串类型必须自己打包成二进制字符串。
  • 你很可能会搞砸时间戳精度。
  • 异常信息通常没什么用。
  • 在某些语言中,Thrift 默认就是错误的。例如 PHP C 扩展。
  • 由于代码是生成的,所以对于超级列、SlicePredicates 和 batch_mutate() 等方面不太直观。
  • 模式修改命令不会等待集群中所有节点达成一致。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接