在2.0中,本机协议是否可以使用CQL3 java客户机(使用execute_prepared_cql3_query等)?还是Datastax客户端是唯一支持本机协议的客户机?使用本机协议是否有性能好处,特别是当插入1MB的blobs时?我有使用CQL3客户端的现有应用程序,因此,除非性能优势很大,否则不希望进行移植。
发布于 2013-12-06 00:26:58
Apache的DataStax Java驱动程序(https://github.com/datastax/java-driver)是迄今为止唯一支持CQL的驱动程序。
为了澄清这个新协议的细节: CQL本地协议v1已经在Cassandra1.2中引入,然后在Cassandra2.0中作为CQL本地协议v2进行了增强。虽然在未来的Cassandra版本中,Th裂缝接口将在一段时间内保持支持,但您可以预期一些特性在将来只能在CQL本地协议中使用,而Cassandra2.0中的自动寻呼已经是这种情况了(请参阅http://www.datastax.com/dev/blog/client-side-improvements-in-cassandra-2-0)。
在性能方面,仍然没有明确的基准来比较与CQL本地协议的效率。这是我们希望很快看到的。但是,请记住,对于这个性能问题,没有一个合适的答案,因为它将在很大程度上取决于所考虑的用例和工作负载。这就是为什么我会建议您运行自己的性能测试,看看如何提高应用程序的效率。我只想指出,对于您提到的1MB blob情况,我不期望有太大的差异,因为有效负载将比这里的协议开销大得多。
因此,我不会说您迫切需要升级到支持CQL本机协议的驱动程序,但这是您应该开始试验的东西,因为大部分投资将在未来几年进行。
https://stackoverflow.com/questions/20394233
复制相似问题