Apache Gora介绍


介绍

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

特点   

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

Gora就是一个大数据的表示与持久化框架,它有如下特点

  1.   数据持久化:它可以对列数据进行持久化,如HBase,Cassandra,Hypertable; key-value数据进行持久化,如Voldermort,Redis等,SQL数据库进行持久化,如MySQL,HSQLDB,也可以对文件进行HDFS存储 。

  2.   数据访问:可以使用Java API对数据进行轻松的访问

  3.   索引:可以持久化对象到Lucene或者Solr中去,可以使用Gora API来进行查询

  4.   分析:可以使用Apache Pig,Hive,cascading来对数据进行分析

  5.   MR的支持:原生支持Hadoop的MR框架,这个已经被用在Nutch 2.0上了

  6. 支持使用Pig,lucene,hive等针对数据进行持久化,索引和分析工作

更多信息请参考:http://gora.apache.org

缺点

        目前除Nutch2外,在其他开源产品中使用Gora的好像没有看到

        Nutch2系列通过gora对存储层进行了扩展,可以选择使用HBase、Accumulo、Cassandra 、MySQL 、DataFileAvroStore、AvroStore中任何一种来存储数据,但其中一些并不成熟。

         目前gora还亟待改进。对于追求性能极致的朋友来说,nutch2.x还不稳定,建议使用nutch1.x,利用HDFS和MapReduce的数据本地化及天然的并行性,可以优化到非常快的速度。

上一篇:使用jquery的load方法设计动态加载,并解决浏览器前进、后退、刷新等问题


下一篇:Apache架构师总结的30条设计原则