内存中数据模型和大数据持久性

ORM框架在希望与关系数据库进行交互时可以帮助开发人员。 对于关系数据库,有许多出色的ORM框架,例如Hibernate和Apache OpenJPA,其中一些确实很棒。

大数据 如今,大数据正在涌现,越来越多的人开发在大数据上运行的应用程序。 已经开发了各种NoSQL数据库来存储这种大小的数据,即列存储和文档存储。

尽管ORM框架解决了许多问题(即使它们有缺点),并且在关系数据库方面如此普遍,但由于NoSQL数据库没有通用标准,因此NoSQL数据库的情况有所不同。

阿帕奇戈拉 Apache Gora旨在通过特定于数据存储的映射为用户提供易于使用的内存数据模型和大数据框架的持久性。 Apache Gora的总体目标是成为大数据的标准数据表示和持久性框架。

Gora支持持久存储到列存储,键值存储,文档存储和RDBMS,并通过广泛的Apache Hadoop MapReduce支持来分析数据。

Gora使用Apache Avro,并且依赖于特定于每个数据存储的映射文件。 与其他OTD(对象到数据存储)映射实现不同,在Gora中,数据Bean到数据存储特定的架构映射是显式的。 这样做的好处是,在使用HBase和Cassandra等数据模型时,您始终可以知道这些值是如何持久保存的。

Apache Gora的路线图

  • 数据持久性:将对象持久化到列存储,例如HBase,Cassandra,Hypertable; 键值存储,例如Voldermort,Redis等; SQL数据库,例如MySQL,HSQLDB,本地文件系统或Hadoop HDFS中的平面文件。
  • 数据访问:易于使用的Java友好通用API,用于访问数据,而不管其位置如何。
  • 索引:将对象持久化为Lucene和Solr索引,使用Gora API访问/查询数据。
  • 分析:通过Apache Pig,Apache Hive和Cascading的适配器访问数据并进行分析
  • MapReduce支持:现成的和广泛的MapReduce(Apache Hadoop)支持数据存储中的数据。

Apache Gora和当前解决方案之间有什么区别?

  • Gora特别关注NoSQL数据存储,但对SQL数据库的支持有限。
  • Gora的主要用例是使用Hadoop访问/分析大数据。
  • Gora使用Avro进行bean定义,而不是字节码增强或注释。
  • 对象到数据存储的映射是特定于后端的,因此可以使用完整的数据模型。
  • Gora很简单,因为它忽略了复杂的SQL映射。
  • Gora将使用Pig,Lucene,Hive等支持数据的持久性,索引和分析。

Apache Gora支持的数据存储

  • Apache Accumulo
  • 阿帕奇·卡桑德拉(Apache Cassandra)
  • 亚马逊DynamoDB
  • Apache HBase
  • 阿帕奇·索尔(Apache Solr)
  • MongoDB

apache-spark-logo Apache Spark是大数据开发人员的一个光辉的项目。 Spark提供了更快,更通用的数据处理平台。 与Hadoop相比,Spark使您在内存上运行程序的速度提高了100倍,在磁盘上运行的速度提高了10倍。 目前Gora不支持Spark,在我的GSoC期间,我正在为Apache Gora实施Spark后端以填补这一空白。

资源资源

  1. http://gora.apache.org/current/tutorial.html#introduction
  2. http://gora.apache.org/current/tutorial.html#introduction
  3. https://github.com/apache/gora
  4. https://hadoop.apache.org/
  5. https://avro.apache.org/
  6. http://spark.apache.org/
  7. 大数据徽标来自: http : //www.smartdatacollective.com/sites/smartdatacollective.com/files/big-data-big_0.png

翻译自: https://www.javacodegeeks.com/2015/08/in-memory-data-model-and-persistence-for-big-data.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/357536.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSDN主页下如何添加访客地图?

有大佬在付费专栏作者群提问这个问题,我们先来研究一下哈。 先看聊天记录吧 放大效果 这位博主是如何实现的呢? 我拿到了这个博客的地址,使用谷歌浏览器F12,拿到这部分代码。他这个是在自定义模块添加访问地图。 自定义模块需要是博客专家,企业博客或者VIP才可以编辑。只…

lucene_indexWriter说明、索引库优化

IndexWriter Hibernate的SessionFactory在Hibernate中。一般保持一个数据库就仅仅有一个SessionFactory。由于在SessionFactory中维护二级缓存,而SessionFactory又是线程安全的。所以SessionFactory是共享的。lucene的IndexWriter假设同一时候在一个索引库中同一时候…

600W个微信红包封面,人人都能领取到!!!

过年啦,祝大家春节快乐牛年大吉,万事如意!别忘了春节还有红包封面领取新的一年愿大家财运亨通!新年过完了,整理情绪上班了,祝福没有断,问候也依然。努力工作多表现,年后年终奖永远把…

android 二次绘制 layout,View的三次measure,两次layout和一次draw

我在《Android视图结构》这篇文章中已经描述了Activity,Window和View在视图架构方面的关系。前天,我突然想到为什么在setContentView中能够调用findViewById函数?View那时不是还没有被加载,测量,布局和绘制啊。然后就搜索了相关的…

盘点关于程序员的那些经典案例

深度剖析几个经典话题,以图文的形式展现,好好看图。 目录 1. 2014互联网职场薪酬报告!你拖后腿了吗? 2. 月薪8K程序员现身说法:男人就该默默做技术! 3.项目建设 4. 2014年亿级用户下的新浪微博平台架构…

html中文字过长 自动隐藏,css 实现文字过长自动隐藏功能

单行overflow: hidden;text-overflow: ellipsis;white-space: nowrap;多行(兼容各个浏览器)//通过覆盖最后几个字的形式p{position:relative;line-height:1.4em;height:4.2em;/* 3 倍line-height 多少倍就是多少行*/overflow:hidden;}.p::after {content:"...";font-…

使用Xtext为Eclipse和IntelliJ开发DSL

在这篇文章中,我们将看到如何开发一种简单的语言。 我们的目标是: 语言的解析器 IntelliJ的编辑器 。 编辑器应具有语法突出显示,验证和自动完成功能 我们还将免费提供Eclipse和Web编辑器的编辑器 ,但请包含您的兴奋之处&#…

搬家后第一次缴电费,查询客户编号的解决办法

最近搬家后,发现家里停电了,不知道客户编号,想通过支付宝生活缴费模块充值。 解决办法。 1.走到电表跟前,连续按下电表白色按钮4-5下。会出现一个四位数的阿拉伯数字。比如:0088。取,后两位88。 2.再按一下…

html字符实体标签语法,HTML字符实体与文本格式化标签

HT环行进端处触码通法果泉位可近境其行框理发ML 字符实体/HTML 中的预留字符必须被替换为字符实体,一些在键盘上找不到的字符也可以使用字符实体来览页些求时是过解些这确如目前例总站回广随能4果泉时标配使能幻近器面实的我是接,前些模小架端如结的事告机对8和水兼…

ArcGIS API for Silverlight地图加载众多点时,使用Clusterer解决重叠问题

ArcGIS API for Silverlight地图加载众多点时,使用Clusterer解决重叠问题 原文:ArcGIS API for Silverlight地图加载众多点时,使用Clusterer解决重叠问题 问题:如果在地图上加载成百上千工程点时,会密密麻麻,外观不是很…

html 文本框 自动拼接,HTML 中table的结构以及拼接

表格基本上有如下几个标签构成:(1).(2).标签用来创建表格的行。(3).标签用来创建表头单元格。 t-head(4).标签用来创建tr行中的单元格。(5).标签用来创建标题。(6).标签用来创建表格的表头。 (一个table只能有一个)(7).标签用来创建表格的主体部分。(8).标签用来创建表格的页…

谈谈JAVA工程狮面试中经常遇到的面试题目------什么是MVC设计模式

作为一名java工程狮,大家肯定经历过很多面试,但每次几乎都会被问到什么是MVC设计模式,你是怎么理解MVC的类似这样的一系列关于MVC的问题。 【出现频率】 【关键考点】 MVC的含义MVC的结构 【考题分析】  在java Web开发中,存在两…

mvc 一般注释_使用带有注释和JQuery的Spring MVC 3的Ajax

mvc 一般注释与Ajax一起工作对我来说一直很有趣! 是不是 ? 我将使您轻松将Ajax与Spring MVC 3和JQuery结合使用。 这篇文章将向您说明如何在工业编码的现实生活中使用Ajax。 和往常一样,我们将在Spring MVC 3框架中以Ajax的实际示例为例&…

html中el表达式遍历list,EL表达式在JS中取出来打印[object HTMLDivElement]的问题

今天做项目的时候,要在JS中获取请求参数中的 值,想直接用 ${param.tabName}获取,结果console.debug()打印出来,居然是 [object HTMLDivElement] 类型. 导致无法获取真正的值,原因可能是因为JQ默认把 这个值进行了封装,封装成 HTMLDivElement 对象,导致出问题. 解决办法,就是告…

孙叫兽:我所认为的领导力!

回归领导力的本质,观察反思自己日常的领导力行为,在不断的学习中找到属于自己的最佳答案... 目录 重塑领导力 管理,到底是管人还是管事? 领导力唯一的准则是没有准则 改变自己就能改变公司? 成功的战略10%制定90%执…

WildFly管理控制台已更新–请求反馈

红帽JBoss企业应用程序平台(EAP)和WildFly具有共生关系 。 简而言之,红帽JBoss企业应用程序平台(JBoss EAP)保留了WildFly社区项目(以前称为JBoss Application Server)的所有创新。 但是只有JBo…

win7远程多用户登录此计算机无法,win7如何实现远程桌面多用户登录|win7实现多用户登录远程桌面的方法...

Win7系统自带有远程桌面功能,开启远程桌面可以控制其他电脑,一般远程登录桌面时,即使登录的是不同的管理账号,还是会把远程登录的人给记下来,不同的账号只能同时存在一个会话窗。那么win7如何实现远程桌面多用户登录&a…

饿了么薅羊毛时刻正式开启

随着信息化时代的来临,我们的生活方式更加的方便快捷。随着外卖行业的发展,我们不用踏出家门就可以吃到热乎的饭菜了。我们网上点餐都是通过外卖app来进行点餐的,现在的外卖app主要要饿了么、美团外卖等等。有时候外卖平台也会推出一些优惠活…

软件测试 实验一

一、Junit, hamcrest 和 eclemma 的安装和使用 通过右击项目里build path 里的 add external archives...来添加Junit包和hamcrest包。运行Junit时,只需在测试用例上右击run as->Junit test,即可对要测试的函数进行测试。 eclemma压缩包我是通过在线安…

如何开发高度可定制的产品

您是否听说过:“我们非常喜欢您的产品……除了一些小细节”。 然后,CIO推出了一系列其他“必备”要求的清单,其中有数百个要求添加到您的惊人产品中。 您是否听说过,甚至说过:“团队,我们即将签署一份利润丰…