我最近开始使用Cassandra数据库.现在我正在评估Cassandra client我们应该推进哪些方面.
我已经在stackoverflow上看到关于哪个客户端用于Cassandra的各种帖子,但没有一个有非常确定的答案.
我的团队已经让我对此进行一些研究,并pros and cons为Cassandra Client API’sJava中的每一个做出一定的研究.
正如我所提到的,我最近参与其中,Cassandra所以没有那么多想法为什么某些人选择Pelops client以及为什么某些人和Astyanax其他客户一起去.
我知道每个Cassandra客户的简短介绍,我的意思是我能够完成这项工作并开始阅读和写入Cassandra数据库.
以下是我到目前为止的信息.
CASSANDRA APIS
Hector(Production-Ready)
最稳定的Java API,为黄金时段做好准备.
Astyanax(The Up and Comer)
来自Netflix的干净Java API.它没有Hector广泛使用,但它是坚实的.
符合JPA标准的Kundera(NoSQL ORM),当您想通过对象与Cassandra进行交互时,这很方便.
这在一定程度上限制了您将无法拥有动态数量的列/名称等.但它确实允许您移植到ORM,或将存储集中到Cassandra以获得更多传统用途.
Pelops
我只是简单地使用了Pelops.这是一个直接的API,但似乎没有它背后的动力.
PlayORM(没有约束的ORM?)
我刚才听说过这个.看起来它试图通过引入JQL来解决传统的基于JPA的ORM和NoSQL之间的阻抗不匹配问题.看起来很有希望.
节俭(避免我!)
这是"低级"API.
以下是我们决定的优先事项Cassandra Client-
任何人都可以对此提出一些想法吗?此外,每个Cassandra Client客户都可以满足我的要求的任何利弊也将有很大的帮助.
我相信,主要是我将围绕着Astyanax client or New Datastax client that uses Binary protocol我的研究基础到目前为止.但是没有某些信息可以支持我的研究并将其呈现给我的团队.
Astyanax客户端和New Datastax客户端(使用新的二进制协议)之间的任何比较都将有很大帮助.
这对我的研究有很大的帮助,并且会从过去使用不同客户的不同人那里获得很多相关知识.