新的Cassandra项目 - Astyanax还是Java驱动程序?

我正在与Cassandra一起启动一个新项目(并计划使用最新的稳定(1.2.x)版本)。我尝试了几种不同的Java库,如HectorAstyanax,Cassandra-jdbc...

其中,(简而言之)我的选择是Astyanax。但后来我也发现并尝试了DataStax的Java驱动程序,它支持新的CQL二进制协议,如果你只使用CQL,它会更干净。而且似乎1.0.0 GA版本将很快发布。

你会推荐哪一个?谢谢。


答案 1

我建议你使用基于cql3的驱动程序。一些选择是JDBC驱动程序,甚至是更好的Datastax驱动程序,它支持异步连接。您可能必须自己构建datastax的驱动程序,但这可以使用maven轻松完成。

Thrift不会在Cassandra中获得任何新功能,它被保留下来是为了向后可比性,大多数C *社区成员建议在新项目中使用基于cql的驱动程序:

如上所述,我们认为CQL3是Cassandra的更简单,整体上更好的API,而不是节俭API。因此,鼓励新项目/应用程序使用 CQL3

-

此外,CQL的性能也很快好转。以下是一些过时的基准测试。

由于编写了答案,因此为驱动程序创建了一个 maven 中央存储库,因此现在要使用它,只需将依赖项添加到 maven:

<dependency>
    <groupId>com.datastax.cassandra</groupId>
    <artifactId>cassandra-driver-parent</artifactId>
    <version>1.0.0</version>
</dependency>

答案 2

我个人使用过Hector,Astyanax,Pelops,Fluent Cassandra,Datastax的Driver和Pycassa,在使用了这么多API之后,我终于意识到Astyanax最适合我(这是我的个人考虑)。

我在astyanax中发现的功能将其与联盟中的其他人区分开来是

  • API 的易用性
  • 复合列支持
  • 连接池
  • 延迟
  • 文档
  • 更新

推荐