3

我正在尝试使用 cassandra 作为后端存储来构建数据服务层。我是 Cassandra 的新手,不确定要为 cassandra 使用什么客户端 - thrift 还是 cql 3?我们有很多使用 Amazon 弹性 mapreduce (EMR) 的 mapreduce 作业,它们将从 cassandra 中大量读取/写入数据。总数据量将 > 100 TB,Cassandra 中有数十亿行。mapreduce 作业可能会以高 qps (>1000 qps) 进行大量读取或写入。要求如下:

我找不到任何权威的信息来源来回答这个问题。感谢您是否可以提供帮助,因为我相信这对大多数人来说是一个常见问题,并且会造福整个社区。

提前谢谢了。

-Prateek

4

1 回答 1

1

Hadoop 和 Cassandra 都是用 Java 编写的,所以一定要选择基于 Java 的驱动程序。就代码的简单性而言,我会选择Astyanax,他们的 wiki 页面非常好,并且文档全面可靠。是的,atyanax 确实允许您在运行时根据需要定义列,但请注意,基于节俭的 API 正在被 cql apis 取代。

但是,如果您想走纯 cql3 路线,我建议您使用datastax 的驱动程序。它允许异步连接并不断更新(查看日志)。代码也很干净,虽然文档还没有,但是你可以查看源代码中的测试。

但老实说,关于 API 的问题太多了,您应该阅读它们并为自己形成意见:

同样对于这里的性能,一些基准(但是它们已经过时了!)表明 cql 正在赶上(并且在准备好的语句方面有些超越)节俭:

于 2013-05-02T09:22:00.650 回答