ogm session

本月初,公众首次看到了一个面向NoSQL的全新Hibernate项目: Hibernate Object Grid Mapping(OGM)。该项目旨在提供将数据存储到NoSQL存储中的JPA引擎,并且第一个Alpha版本用于为2011年JBoss世界主题演讲提供动力。 JAXenter与JBoss平台架构师以及Hibernate Search和Hibernate Validator创始人Emmanuel Bernard进行了交谈,以了解有关此新项目的更多信息。

JAXenter:新的Hibernate项目Hibernate OGM的第一个公开alpha版本已经宣布。 什么是OGM项目?

Emmanuel Bernard :Hibernate OGM代表对象/网格映射器。 这个想法是提供完整的JPA API和语义(或其Hibernate本机对应物)。 但是我们没有像Hibernate Core那样将数据存储在关系数据库中,而是将它们存储在NoSQL数据存储区中。 我们还希望提供JP-QL的子集。 我们正在谈论一种完善的JPA引擎:相同的API,相同的语义(级联,关联等),相同的查询语言。

该项目开始时是作为在Infinispan(JBoss的数据网格)之上提供JPA API的解决方案。 在进行该项目时,我们意识到我们所做的选择:
*可以推广到其他键/值存储
*非常适合替代NoSQL系列,尤其是面向文档的系列

因此,我们决定使Hibernate OGM数据存储区不可知(回想起来很适合Hibernate Core的理念)。

在Hibernate OGM中,我们非常努力地使基础数据存储独立于您的应用程序。 副作用是相同的数据将被其他平台(如Ruby,.net或任何后来出现的大问题)读取。 数据的可移植性非常重要。 应用程序的数据寿命很容易达到十倍。

JAXenter: Hibernate OGM如何降低NoSQL的进入门槛?

Emmanuel:当您选择一种NoSQL产品而不是另一种(或关系数据库)时,许多选择都处于危险之中:
*程序化API
*(非)查询引擎
*事务/吞吐量/可用性/分区语义
*促进操作和支持的工具

Hibernate OGM背后的想法是让您重用相同的编程API,相同的对象生命周期语义以及(一定程度上)相同的查询引擎。 与可以使用一套完全不同的API和编程模型的开发人员可以使用已经熟悉并且与他的编程模型很好地集成的API有所不同。 您仍然需要关注最适合您的数据存储需求的引擎,但是如果您的应用程序是域模型驱动的,那么Hibernate OGM将是一个有用的工具,可以限制您的应用程序和您的应用程序之间的泄漏。
数据存储。 您还可以在应用程序生命周期的后期选择NoSQL数据存储,就像Hibernate Core方言可以让您决定在开发周期的稍后阶段使用哪个关系引擎。 老实说,它不会像Hibernate OGM那样抽象:NoSQL引擎有很大的不同。

从根本上讲,Hibernate OGM是一种减少进入NoSQL解决方案的障碍的工具。 与许多人一样,我们认为NoSQL工具和大数据将彻底改变我们在应用程序中所做的工作。 我们希望人们不必花费大量时间和金钱就可以尝试探索新的数据模式。

JAXenter: Hibernate OGM中正在使用哪些技术?

伊曼纽尔:那是项目的美之一。 与其从头开始编写JPA引擎,我们重用了大多数成熟的Hibernate Core引擎。 我们只需替换与数据存储交互的两个组件(分别为Persisters和Loader)。 老实说,我不相信Hibernate Core对此具有足够的灵活性,但是我错了,引擎非常适合。

在查询方面,Hibernate OGM使用Lucene和Hibernate Search来建立索引并使它们保持最新。 查询引擎将JP-QL查询转换为一个或几个全文查询。 这是我们的第一步,它将使我们能够进行带限制(where子句)和简单的*对一连接的JP-QL查询。 一旦稳定下来,我们将重用数据库联合引擎Teiid,该引擎可以查询多个数据源,就好像它们是一个一样,并计算联接(如果需要,可以进行聚合和联接工作)。 正如我们所说的,Teiid团队正在开发其查询引擎的嵌入式版本。

最后,我们最初的NoSQL引擎是Infinispan,它是JBoss Cache的发展。 如您所见,我们重用了许多成熟的项目,并在需要时在顶部添加了其他层。 这个想法是非常快速地获得非常丰富的功能集。

JAXenter:您对Hibernate OGM的未来版本有何计划?

Emmanuel:我们刚刚发布了Alpha 2,所以暂时不要将您的生产数据移动到Hibernate OGM!

尽管我们仍在探索存储数据的最佳方法(尤其是关联),但我们确实具有相当成熟的CRUD支持(创建读取更新删除)。 JP-QL目前正在努力支持简单查询,我们希望尽快将其发布。 一旦确定,我们将测试Hibernate OGM的性能和稳定性。 从那里,我们将为发布GA做好准备。 Teiid的集成将进一步支持更复杂的JP-QL查询。

与面向功能的路线图并行,我们正在探索各种NoSQL引擎。 我们确实支持Infinispan,但我们也在抽象层上进行了工作。 它已经相当先进,但是还需要进一步改进。 EhCache团队正在研究一个原型,这将帮助我们进一步完善合同。 我们也有社区提案,可用于MongoDB,CouchDB和Redis方言。 一旦我们对抽象合同感到满意,我们将向他们伸出援手。

Hibernate OGM仍然很年轻,并且处于每个项目都在塑造项目的状态。 这真是令人兴奋! 如果您有兴趣,请与我们联系,我们有很多事情要做!

翻译自: https://jaxenter.com/hibernate-ogm-lowering-the-barrier-of-entry-to-nosql-103491.html

ogm session

ogm session_Hibernate OGM:降低进入NoSQL的障碍相关推荐

  1. ogm neo4j_Neo4J OGM与Quarkus

    ogm neo4j 在下面的视频中,我演示了一个使用Neo4J数据库和Neo4J OGM的Quarkus应用程序示例. 看一下GitHub上的示例项目 . 我为咖啡豆创建了一个示例域,其中包含我们可以 ...

  2. 数据库 ogm_带有Hibernate OGM的NoSQL –第二部分:查询数据

    数据库 ogm Hibernate OGM的第一个最终版本发布于 1月底,团队一直在忙于制作一系列教程式博客,使您有机会轻松地从Hibernate OGM重新开始. 第一部分是关于设置和保留您的第一个 ...

  3. neo4j ogm_带有Hibernate OGM的NoSQL –第一部分:持久化您的第一个实体

    neo4j ogm Hibernate OGM的第一个最终版本已经发布,团队从发布狂潮中恢复了一些. 因此,他们考虑开设一系列教程风格的博客,使您有机会轻松地从Hibernate OGM重新开始. 感 ...

  4. [JavaEE] Hibernate OGM

    Hibernate Object/Grid Mapper (OGM)这个项目能够为NoSQL数据库提供Java Persistence(JPA)支持.它复用了Hibernate Core引擎将实体持久 ...

  5. 15个nosql数据库

    1.MongoDB 介绍 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.主要解决的是海量数据的访问效率问题,为WEB应用提供可扩展的高性能数据存储解决方案.当数据量达到50GB以上 ...

  6. NoSQL为什么需要模式自由的ETL工具:不知道的大概都没用过!

    了解一个开源工具,可以有效帮助人们解决NoSQL在数据输入.处理.输出方面困难.大数据时代,不了解NoSQL数据库的程序员大抵应该是没有的吧! 许多NoSQL数据库缺少工具和分析.本文,将讨论模式无关 ...

  7. 企业级nosql数据库应用与实战-redis

    企业级nosql数据库应用与实战-redis 项目场景: 随着互联网2.0时代的发展,越来越多的公司更加注重用户体验和互动,这些公司的平台上会出现越来越多方便用户操作和选择的新功能,如优惠券发放.抢红 ...

  8. 大数据技术原理与应用之【NoSQL数据库】习题

    1.如何准确理解NoSQL的含义? NoSQL是一种不同于关系数据库的数据库管理系统设计方式,是对非关系型数据库的一类统称,它采用的数据模型并非传统关系数据库的关系模型,而是类似键/值.列族.文档等非 ...

  9. java开源持久层框架集

    原文链接:http://www.open-open.com/3_18.htm Hibernate Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Ja ...

最新文章

  1. 【Joomla】K2 Item 页面添加 Module
  2. oracle部署部分整理
  3. 错误:请求“ ..”中的成员“ ..”属于非类类型
  4. 初学HTML5系列二:HTML5新增的事件属性
  5. jooq和jdbc_将jOOQ与JDBC比较
  6. JavaScript canvas实现俄罗斯方块
  7. NGUI_2.6.3_(3D视图ScrollView)
  8. 计算机网络(韩立刚网课笔记)
  9. HDU1214 圆桌会议【数学】
  10. Spring3中的mvc:interceptors标签配置拦截器
  11. MYSQL 高效索引策略(完成)
  12. 【文献翻译】基于CVSS的IT系统网络安全风险定量评估方法-A Quantitative CVSS-Based Cyber Security Risk Assessment Methodology
  13. 6.18-WizNote MD 指南
  14. php201534,PHP设计聊天室步步通4
  15. 计算机怎么关闭u盘系统还原,电脑系统还原错误怎么办
  16. 每日excel学习之查找替换和定位
  17. 知乎上关于ReactNative的评论汇总(网友们有才哟...)
  18. NMS(非极大值抑制)代码构建与详解
  19. Spring Boot熟稔于心的20个常识
  20. 2020年医药冷链物流行业报告

热门文章

  1. 分享2022武体考研一战上岸学习心得
  2. 建模教程_Zbrush沼泽猎人角色制作教程
  3. 思岚科技陈士凯:场景化应用或成服务机器人行业突破口
  4. iMovie教程:如何将照片添加至iMovie剪辑中?
  5. PHP对接企业微信审批回调
  6. 风格迁移(Style Transfer)首次学习总结
  7. 2021年上海会展行业发展现状及重点企业对比分析:展览面积为1086万平方米,同比减少1.97%[图]
  8. 我们都需要时间,成为更好的人(转载)
  9. Web在jsp页面中生成柱状图,折线图,饼状图
  10. BZOJ 1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛 bfs