内存 增量数据持久_内存中数据模型和大数据持久性
內存 增量數據持久
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是大數據開發人員的一個光輝的項目。 Spark提供了更快,更通用的數據處理平臺。 使用Spark,您可以在內存上運行程序的速度比Hadoop快100倍,在磁盤上的速度快10倍。 當前Gora不支持Spark,在我的GSoC期間,我正在為Apache Gora實施Spark后端以填補這一空白。
資源資源
翻譯自: https://www.javacodegeeks.com/2015/08/in-memory-data-model-and-persistence-for-big-data.html
內存 增量數據持久
總結
以上是生活随笔為你收集整理的内存 增量数据持久_内存中数据模型和大数据持久性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: wildfly_从WildFly 9(子
- 下一篇: 苹果电脑Mac删除系统自带的输入法教程如