Cassandra Client Java API 的 [已关闭]
我最近开始使用Cassandra Database。现在,我正在评估我们应该推进哪一项。Cassandra client
我已经看到过关于stackoverflow的各种帖子,关于将哪个客户端用于Cassandra,但没有一个有非常明确的答案。
我的团队要求我对此进行一些研究,并在Java中为每个研究提出一些结果。pros and cons
Cassandra Client API’s
正如我所提到的,我最近参与其中,所以不知道为什么某些人选择,为什么某些人会和其他一些客户一起去。Cassandra
Pelops client
Astyanax
我知道每个Cassandra客户的简短事情,我的意思是我能够做到这一点,并开始读取和写入Cassandra数据库。
以下是我目前掌握的信息。
卡桑德拉·阿皮斯
Hector(Production-Ready)
最稳定的Java API,为黄金时段做好准备。Astyanax (The Up and Comer)
来自 Netflix 的一个干净的 Java API。它不像赫克托那样被广泛使用,但它是坚实的。Kundera(NoSQL ORM)
符合JPA标准,当您想要通过对象与Cassandra交互时,这很方便。
这在某种程度上限制了你,因为你将无法拥有动态数量的列/名称等。但它确实允许您通过ORM进行移植,或者将存储集中到Cassandra上以用于更传统的用途。Pelops
我只短暂地使用过Pelops。这是一个直截了当的API,但似乎没有动力。PlayORM(没有约束的ORM?
我刚刚听说过这个。看起来它试图通过引入JQL来解决传统的基于JPA的ORM和NoSQL之间的阻抗不匹配。它看起来很有希望。节俭(避开我!
这是“低级”API。
以下是我们在决定中的优先事项Cassandra Client
-
- 首要任务是:低延迟开销、Asynch API 以及生产环境的可靠性/稳定性。
(例如,可以在包装客户端的 DAL 中拥有更用户友好的 API)。 - 连接池和分区感知是其他一些不错的功能。
- 能够检测已添加的任何新节点。
- 良好的支持以及(正如下面的院长所指出的那样)
任何人都可以对此提供一些想法吗?而且,每个客户的任何利弊以及哪些客户可以满足我的要求也将有很大的帮助。Cassandra Client
我相信,主要是围绕我猜想到目前为止的研究基础。但是不要有某些信息来支持我的研究并将其呈现给我的团队。Astyanax client or New Datastax client that uses Binary protocol
Astyanax客户端和New Datastax客户端(使用新的二进制协议)之间的任何比较都将有很大的帮助。
这将对我的研究有很大的帮助,并将从过去使用过不同客户的不同人那里获得很多这方面的知识。