我正在使用Cassandra启动一个新项目(并计划使用最新的稳定版(1.2.x) )。我尝试过几种不同的Java库,比如Hector、Astyanax、Cassandra-jdbc……
其中,(简而言之)我的选择是Astyanax。但后来我也找到并尝试了DataStax的Java驱动程序,它支持新的CQL二进制协议,如果你只使用CQL,它会干净得多。而且似乎1.0.0GA版很快就会发布。
你推荐哪一种?谢谢。
发布于 2013-04-19 07:51:52
我建议你使用基于cql3的驱动程序。一些选择是支持异步连接的JDBC driver或更好的Datastax's driver。您可能需要自己构建datastax的驱动程序,但使用maven可以轻松地完成这一任务。
Thrift不会在Cassandra中获得任何新功能,它的保留是为了向后比较,大多数C*社区成员建议在新项目中使用基于cql的驱动程序:
如上所述,我们相信对于Cassandra来说,CQL3是一个比thrift API更简单、总体上更好的
。因此,鼓励新项目/应用程序使用CQL3 -
此外,CQL的性能也在迅速提高。下面是一些过时的benchmarks.
更新
因为答案已经写好了,已经为驱动程序创建了一个maven central repository,所以现在要使用它,只需将依赖项添加到maven:
<dependency>
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-parent</artifactId>
<version>1.0.0</version>
</dependency>发布于 2013-04-19 14:33:50
我个人使用过Hector,Astyanax,Pelops,Fluent Cassandra,Datastax的驱动程序和Pycassa,在使用了这么多API之后,我终于意识到Astyanax最适合我(这是我个人的考虑)。
我在astyanax中发现的区别于联盟中其他人的特性是
发布于 2013-05-22 02:54:37
我用过Astyanax。它有很好的文档记录,并且易于使用,前提是您可以编写比CQL多5倍的代码。
现在我正在使用CQL,因为和我一起工作的人还没有完全掌握Astyanax代码--为什么他们必须为列名编写类。我认为如果你不使用Astyanax或Hector,你将永远不会正确理解Cassandra的内部结构。
https://stackoverflow.com/questions/16090921
复制相似问题