由于哪些原因不宜使用 Thrift API 进行 Cassandra 访问?

发布于 2024-10-13 03:22:02 字数 55 浏览 8 评论 0原文

请列举为什么 Cassandra 不建议使用 Thrift 接口的原因?可能的优点和缺点是什么?

Please enumerate reasons for why its not advisable to use Thrift interface for Cassandra? What are the possible advantages and disadvantages?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

温柔少女心 2024-10-20 03:22:02

如果您使用原始 Thrift api,缺点将是:

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

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
香草可樂 2024-10-20 03:22:02

延续 Schildmeijer 的良好开端:

  • 没有批处理界面。
  • 没有对 get_range_slices() 或 get_indexed_slices() 进行分块,因此您可以轻松地淹没 Cassandra
  • 非字符串类型必须自己打包到二进制字符串中
  • 您可能会弄乱时间戳精度
  • 异常消息通常是无用的
  • Thrift 在某些语言中默认会被破坏。例如,请参阅 PHP C 扩展。
  • 因为代码是生成的,所以并不直观,特别是对于超级列、SlicePredicates 和batch_mutate()。
  • 架构修改命令不等待集群中所有节点之间的架构一致

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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文