有四个高级API访问Cassandra,我没有时间尝试所有.所以我希望找到一个可以帮助我选择合适的人的人.
我会试着写下我关于他们的发现:
DataNucleus将-卡桑德拉 – 插件
优点:
>支持JPA1,JPA2,JDO1 – JDO3 – 正如我在评论中阅读的一样,JDO比使用JPA的Hibernate更好
>所有在昆德拉提到的职业?
缺点:
>到目前为止,JDO没有exeirience(当然只有我)
>文件未找到!
昆德拉
优点:
> JPA 1.0注释具有所有优点(标准符合,无样板代码,…)
>承诺在不久的将来有以下功能:JPA监听器,@PrePersist @PostPersist等 – 关系,@OneToMany,@ManyToMany等 – 事务支持,@Transactional
缺点:
>插件的早期开发阶段?
>错误
>不可能修复JDO / JPA框架中的问题?
s7 pelops
优点:
>纯java api – >更好的控制持久性?
缺点:
>纯java api – >样板代码
负责人0.7
优点:
mavenized
>弹簧整合 – >依赖注入
>纯java api – >更好的控制持久性?
> jmx监控?
节点管理似乎很简单灵活
缺点:
>纯java api(无注释) – >锅炉板代码
到目前为止的结论
由于我对RDMS,Hibernate,JPA,Spring有信心,并不是最新的EJB,所以我的第一印象是,去昆德拉本来是正确的选择.但是在阅读了关于JPO,DataNucleus的一些帖子后,我不知道了.由于DataNucleus的学习曲线应该是陡峭的(也是针对过期的JPA开发人员),我不知道我是否应该去.
我最关心的是插件的状态.就JDO和Datanucleus-Cassandra-Plugin来说,这个论坛的支持/帮助还不如我所了解的那么广泛.
有谁在那里,谁有经验,有一些框架已经,可以给我一个提示?也许混合策略也是有道理的.在这种情况下(如果存在的话)JDO不够灵活/足够/无论我的需要如何,都可以回到一个更容易的pelops或者hector API?这可能吗?有没有像JPA中的方法来获取一个sql连接和获取/放置数据?
看了一下之后,我发现了以下其他信息:
Datanucleus-Cassandra-Plugin is based on the pelops, which also can be accessed for more flexibility, more performance (?), which should be used on the column families with a lot of data, JDO/JPA access should be only used on “administrative” data, where performance is not so important and data amount is not overwhelming.
其中仍然留下了一个开放的问题,以开始或者说是开始.
pelops为它后来Datanucleus-Cassandra插件可扩展性,或
因为它对节点管理的支持更为充分.