最近,我注意到Cassandra和DataStax正在进一步推动CQL3。甚至发布了新的Java驱动程序,该驱动程序根本不使用Thrift。
而且,如果您不打算使用“紧凑存储”,那么您将无法在应用程序中使用Thrift。因此,我相信Thrift正在从Cassandra淡出。
我的问题是,对于新应用程序,我应该继续使用CQL3吗?但是,我仍然更喜欢节俭,因为我想知道下面发生了什么,另一方面,我不想使用逐渐褪色并成为遗产的东西。您有什么推荐的吗?
最佳答案
我的公司最近经历了同样的思考过程,最终因为节俭而使用了CQL3。
尽管CQL3的附加抽象层略微缺乏透明性,但在我看来,编写SQL样式语句的便捷性和熟悉性使代码更具可读性和直观性。另外,我们发现,在调试和常规数据库维护方面,cqlsh界面比cassandra-cli更加用户友好(自动完成功能在cqlsh中是fab!)。
一旦了解了底层数据结构以及CQL3如何表示该数据,那么额外的抽象层实际上就显得微不足道了。