我最近开始熟悉 NoSQL (HBase)。我绝对是菜鸟。

我正在调查可以在 HBase 上使用的 ORM 和高级客户端,并遇到了一些。

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

任何人都可以帮助我理解为什么我们会再次需要像查询这样的 SQL,如果整个目标是摆脱它吗?

也有人可以评论您使用 HBase 的 ORM 的经验吗?我从http://wiki.apache.org/hadoop/SupportingProjects看了其中的几个并开始关注昆德拉。

另一个相关问题——Kundera run map 的数据查询是否在内部减少了工作量?

请您参考如下方法:

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


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!