Gora是一个类似Hibernate的ORM框架

Gora是一个类似Hibernate的ORM框架,但是不只是支持关系数据库,更重要支持NoSQL之类大数据的存储。

支持NoSQL之类大数据的存储

Apache Gora是一个开源的ORM(Object/Relation Mapping,对象关系映射)框架,主要为大数据提供内存数据模型与数据的持久化。目前Gora支持对于列数据、key-value数据,文档数据与RDBMS数据的存储,还支持使用Apache Hadoop来对对大数据进行分析

虽然目前市面上有很多不错的关系数据库的ORM框架,但是基于数据模型的框架如JDO还是有一些不足,如对于列数据模型的存储与持久化。Gora正好弥补了这个问题,它能使用户很容易对大数据时行 内存建模与持久化,而且支持Hadoop来对大数据进行分析。

Gora的目标是成为大数据的标准数据表示和持久化框架。它的功能[1]  归纳如下:

· 数据持久化:将对象持久化到列存储,如Apache HBase, Apache Cassandra, Hypertable;持久化到key-value存储,如Voldermort, Redis等;持久化到SQL数据库,如MySQL, HSQLDB; 也可对文件进行Hadoop HDFS存储;

· 数据访问:使用Java API轻松地对数据进行访问而不考虑数据的位置;

· 索引:持久化对象到Apache Lucene和Solr索引,使用Gora API来对数据进行访问或查询;

· 分析:通过Apache Pig, Hive和Cascading来访问数据并进行分析

· MapReduce的支持:原生支持Hadoop的MapReduce框架。

Gora的一个源代码结构 编辑

Gora源代码以模块的形式来组织,其中gora-core是主要核心模块。所有其它模块都依赖这个核心模块,当然你可以扩展自己的模块,当前实现的模块如下

gora-core : 核心模块 gora-cassandra : apache cassandra模块 gora-hbase : apache hbase模块 gora-sql : sql数据库模块[1]

时间: 2024-11-08 19:11:06

Gora是一个类似Hibernate的ORM框架的相关文章

抛弃EF,20分构建一个属于自己的ORM框架

相信EF大家都不陌生了,因为数据库表跟程序实体是一一对应的原因,我们能够通过lambda这种函数式的编程方式进行操作数据库,感觉非常清晰明了.与我们直接写SQL相比,lambda是强类型,拥有更好的扩展性,伸缩性,而且编程更加的方便,快捷..下面我们就基于Expression和lambda来与大家构建一个属于自己的ORM框架. 思路的话很简单,就是将lambda转换成我们对应的数据库所需的查询条件,然后执行查询,再将结果以反射的方式封装成List<T>返回出去. Expression 大家使用

8.如何自己设计一个类似 Dubbo 的 RPC 框架?

作者:中华石杉 面试题 如何自己设计一个类似 Dubbo 的 RPC 框架? 面试官心理分析 说实话,就这问题,其实就跟问你如何自己设计一个 MQ 一样的道理,就考两个: 你有没有对某个 rpc 框架原理有非常深入的理解. 你能不能从整体上来思考一下,如何设计一个 rpc 框架,考考你的系统设计能力. 面试题剖析 其实问到你这问题,你起码不能认怂,因为是知识的扫盲,那我不可能给你深入讲解什么 kafka 源码剖析,dubbo 源码剖析,何况我就算讲了,你要真的消化理解和吸收,起码个把月以后了.

自己写ORM框架 DBUtils

ORM框架想必大家都比较熟知了,即对象关系映射(英语:Object Relation Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换.从效果上说,它其实是创建了一个可在编程语言里使用的"虚拟对象数据库". 当你开发一个应用程序的时候(不使用O/R MAPPING),你可能会写不少数据访问层的代码,用来从数据库保存,删除,读取对象信息,等等. 现在流行的ORM框架有: JAVA系列:APACHE

自己写ORM框架 DBUtils_DG Java(C#的写在链接里)

ORM框架想必大家都比较熟知了,即对象关系映射(英语:Object Relation Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换.从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”. 当你开发一个应用程序的时候(不使用O/R MAPPING),你可能会写不少数据访问层的代码,用来从数据库保存,删除,读取对象信息,等等. 现在流行的ORM框架有: JAVA系列:APACHE OJB,C

ORM框架基本认识

(以下内容主要用于自己的生活的记录,不喜勿喷) 从工作到现在也一年多了,可是上周五下班时,老大喊着我,问了我一句:“我周末打算让你帮我找点资料,你知道ORM吗?” 在当时,我直接楞了一下,因为在当时的时候我完全没有对ORM这几个单词的概念理解(虽说以前肯定用过,并且还看过相应的实现代码)! 周末经过查询一些资料,感觉现在他们讨论的主要的ORM框架有以下这些 1.NHibernate 提起NHibernate,相信大家都不陌生,NHibernate来源于非常优秀的基于Java的Hibernate关

轻量级ORM框架初探-Dapper与PetaPoco的基本使用

一.EntityFramework EF是传统的ORM框架,也是一个比较重量级的ORM框架.这里仍然使用EF的原因在于为了突出轻量级ORM框架的性能,所谓有对比才有更优的选择. 1.1 准备一张数据库表 (1)For MSSQL CREATE TABLE [dbo].[Posts] ( [Id] INT NOT NULL PRIMARY KEY IDENTITY, [CategoryId] INT NOT NULL, [Slug] VARCHAR(120) NOT NULL, [Title] N

单表ORM框架

基本描述 1.首先是一个单表的ORM框架,多表连接查询请使用视图或者使用SqlHelper查询,然后转换成实体集合. 2.目前仅完成基本结构和MySQL部分. 3.目前欠缺Lambda表达式解析,所以条件和排序部分比较粗糙. 4.后期对整个项目构架可能会调整. 获取代码 ……不会GIT搞了半天没传上去 ,我弄个SVN 弄好了贴地址上来. 参与开发 请加入QQ群:59303472

diesel rust orm 框架试用

diesel 是一个不错的rust orm框架,提供了cli ,可以方便的进行migration 操作,以及帮助代码生成 以下是一个简单的试用 安装cli 注意需要最新的stable 版本,数据库使用docker-compose 运行 cargo install diesel_cli 项目准备 docker-compose 服务 关于rust 项目构建的,后边说明 version: "3" services:  app:    build: ./  pg:    image: post

ORM进阶之Hibernate 简介及框架搭

上一篇博客讲解了ORM思想,以及ORM的优缺点,并说了ORM有很多的实现方式,我们将以Hibernate为基础来进行讲解. Hibernate是一个基于元数据的轻量级的ORM框架: 1,元数据(Meta Data):data about data(数据的数据),也就是说描述一个对象数据,相当于这个对象的上下文环境. 2,轻量级:占用资源少,没有侵入性.(其实我认为这只是相对而言,如果和Ibatis相比,它到成重量级的了). Hibernate分装了对数据库的操作,让我们由面向数据库编程,变为面向