NoSQL数据库上的Java ORMs,如HBase

NoSQL数据库上的Java ORMs,如HBase,nosql,hbase,kundera,Nosql,Hbase,Kundera,我最近开始熟悉NoSQL(HBase)。我绝对是个笨蛋 我在调查可以在HBase上使用的ORM和高级客户机时遇到了一些问题 一些ORM库(如Kundera)正在提供类似SQL的数据查询功能。我发现这有点违反直觉 有谁能帮助我理解,如果我们的整个目标是离开SQL,为什么我们还需要类似SQL的查询 还有谁能评论一下您使用ormsforhbase的体验吗?我看了看他们中的一些人,然后开始看昆德拉 另一个相关问题-使用Kundera运行的数据查询是否会在内部减少作业?使用Kundera的原因: 1) 如

我最近开始熟悉NoSQL(HBase)。我绝对是个笨蛋

我在调查可以在HBase上使用的ORM和高级客户机时遇到了一些问题

一些ORM库(如Kundera)正在提供类似SQL的数据查询功能。我发现这有点违反直觉

有谁能帮助我理解,如果我们的整个目标是离开SQL,为什么我们还需要类似SQL的查询

还有谁能评论一下您使用ormsforhbase的体验吗?我看了看他们中的一些人,然后开始看昆德拉


另一个相关问题-使用Kundera运行的数据查询是否会在内部减少作业?

使用Kundera的原因:

1) 如果希望通过HBase获得类似SQL的支持。由于它构建在HBase本机API之上,因此它只需将这些SQL查询转换为相应的GET或PUT方法调用。 2) 目前仅支持HBase-0.20.6。Kundera-2.0.6将支持HBase 0-90.x版本。 3) 昆德拉并没有做一些开箱即用的事情来提供类似SQL的MapReduce查询。但是,Kundera-2.0.6将通过仅支持配置单元本机查询来提供对此类内容的支持

它完全符合JPA,所以不需要学习新的东西。它只需极少量的工作就可以隐藏开发人员级别的复杂性

类SQL查询是为了便于开发、快速开发、不易出错和可重用性


-Vivek

kundera或Spring数据可能在NoSQL数据库上提供用户友好的ORM层,但底层实体模型仍然必须是NoSQL友好的。这意味着NoSQL用户不应该盲目地遵循RDBMS建模策略,而应该以这样的方式设计ORM实体,以便可以使用所有NoSQL功能。
根据经验法则,kundera ORM实体应该使用查询优先策略进行设计,首先需要定义查询,以便创建主键,同时确保关系模型的使用尽可能少。应避免查询随机列和完整扫描,因此可能必须跨实体复制数据,以减少多个实体的查找。此外,还需要规划事务管理。仅供参考,昆德拉不支持事务(Hbase/Cassandra支持的单行发送除外)

谢谢你的回复。您可能什么时候发布2.0.6?我们使用的是HBase 0.9。我们发布了2.0.6,可供下载: