我们正在启动一个新的Java Web项目,使用Cassandra作为数据库。团队非常熟悉关系型数据库/RDBMS/JPA/Hibernate/Spring,但对NoSQL领域非常陌生。我们希望尽可能简单地开始开发。 Hector似乎是连接Cassandra最受欢迎和流行的选择。但是,Netflix最近提供了Astyanax,它起源于Hector。 有没有使用过这两种技术的人可以分享一下他们的经验?我正在寻找易于设置、文档良好和使用简单/清晰的解决方案。 欢迎提出其他API的建议。
我尝试了Hector和Thrift,但Astyanax更容易使用。API让人感到合理,并且反映了实际操作。而Hector或直接使用Thrift通常会导致难以解释的代码。尽管Astyanax还有一些问题需要解决(例如getColumnByName),但我已经决定使用它来构建我的项目。哦,我使用了快照版本(手动构建,因为它没有在任何Maven仓库中)因为某些过时的引用。
我最初使用Hector,我认为它非常优秀,但后来转向了Astyanax。Astyanax是在Hector之上的抽象层,我认为它更加简单易用。我在使用Hector时遇到了一个小错误,与保持连接活动有关,在我切换到Astyanax之后神奇地解决了。