我最近开始使用Cassandra数据库。现在我正在评估哪个Cassandra客户端我们应该推进。
我看到各种postoverflow关于哪个客户端用于Cassandra,但没有一个非常确定的答案。
我的团队要求我做一些研究,并提出了一些优点和缺点的每个Cassandra客户端API的Java。
正如我提到的,我最近参与了Cassandra,所以没有这么多想法为什么某些人选择Pelops客户端,为什么某些人去与Astyanax和一些其他客户。
我知道每个Cassandra客户端的简要信息,我的意思是我能够做这项工作,并开始读和写Cassandra数据库。
下面是我到目前为止的信息。
CASSANDRA APIS
> Hector(生产就绪)
最稳定的Java API,准备好的黄金时间。
> Astyanax(上和下)
来自Netflix的干净的Java API。它不像Hector广泛使用,但它是固体。
> Kundera(NoSQL ORM)
JPA兼容,当你想通过对象与Cassandra交互时,这很方便。
这限制了你在某种程度上,你将不能够有一个动态数
列/名称等,但它允许您移植ORMs,或集中存储
到Cassandra更多的传统用途。
> Pelops
我只是简单地使用Pelops。这是一个直接的API,但似乎没有
有它的动力。
> PlayORM(ORM没有约束?)
我刚才听到这个。它看起来像是试图解决阻抗
通过引入JQL,传统的基于JPA的ORM和NoSQL之间的不匹配。它看起来
有希望。
> Thrift(避免我!)
这是“低级”API。
以下是我们确定Cassandra Client-
>第一优先级是:低延迟开销,Asynch API和生产环境的可靠性/稳定性。
(例如,可以在包裹客户端的DAL中具有的更加用户友好的API)。
>连接池和分区感知有一些其他好的功能。
>能够检测添加的任何新节点。
>良好的支持(下面的院长指出)
任何人都可以提供一些想法呢?而且,每个Cassandra客户端的任何优点和缺点,以及哪个客户端可以满足我的要求也将是很大的帮助。
我相信,主要是我将围绕Astyanax客户端或新Datastax客户端使用二进制协议我猜测为基础我的研究到目前为止。但没有一定的信息来支持我的研究,并将其呈现给我的团队。
任何Astyanax客户端和新Datastax客户端(使用新的二进制协议)之间的比较将是很大的帮助。
这对我的研究将是很大的帮助,并将从这个不同的人谁使用不同的客户在过去的很多知识。