2013-05-10 49 views
3

最近我注意到Cassandra和DataStax正在推动CQL3更多。一个新的java驱动程序甚至被发布,这个完全不使用Thrift。 如果您不打算使用“紧凑型存储”,您将无法在应用程序中使用Thrift。因此,我相信Thrift正在从Cassandra中消失。节俭,CQL3还是什么?

我的问题是,对于一个新的应用程序,我应该去头并使用CQL3?然而,我仍然更喜欢节俭,因为我想知道底下发生了什么,另一方面,我不想使用那些正在淡出并成为遗产的东西。你有什么建议?

回答

3

我的公司最近经历了同样的思维过程,最终使用CQL3而不是节俭。

尽管在CQL3中进行额外的抽象层时略有缺乏透明度,但编写SQL样式语句的简易性和熟悉程度使得我的代码更具可读性和直观性。另外,我们发现cqlsh接口比cassandra-cli更方便用户调试和常规数据库维护(自动完成是在cqlsh中的fab)。

一旦您了解了底层数据结构以及CQL3如何表示数据,那么额外的抽象层实际上并不重要。

+0

有关CQL3如何真正代表我的数据的更多信息(从节俭的用户角度)?另外,我还担心CQL3可能会尝试生成非常宽的行(限制为20亿),而我甚至不知道?! – Salamander 2013-05-11 22:55:05

+1

我发现这篇文章对于理解CQL3如何表示底层数据结构非常有用:http://www.datastax.com/dev/blog/thrift-to-cql3 – beterthanlife 2013-05-13 08:36:54

1

Datastax正在鼓励开发人员将cql3用于更新的应用程序。从Thrift to CQL3 Guide

...我们相信,CQL3是卡桑德拉更简单和更好的总体API比节俭API是。因此,鼓励新项目/应用程序使用CQL3(尽管请记住,CQL3尚未最终确定,因此此声明仅在Cassandra 1.2中完全有效)。但是节俭的API不会去任何地方。

节俭将不会得到新功能(除非他们要求很多),所以它是安全地说,CQL3是新的应用程序更好的选择(当然也有例外......如果你需要低级别的你需要节俭)。我唯一的痛苦就是datastax的驱动程序还不支持SSL,但是它正在发展中,很快就会成为一个承诺的功能。

+0

你说“如果你需要低层次你需要节俭”你的意思是什么低层次,对不起,如果它是愚蠢的我对卡桑德拉是新的,并试图编写一个mapreduce从卡桑德拉读取数据。 – Shri 2014-03-25 09:55:16