IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

Hadoop++:Hadoop的局部性能改良

风轻扬 2011-12-18 21:57:02 累计浏览 2,178 次
本机暂存
Hadoop++是对Hadoop Map Reduce的非入侵式优化,通过自定义Hadoop框架中的split等函数来提升,提升查询和联接性能。 项目由德国Saarland大学Jens Dittrich教授主持。项目主页是 http://infosys.uni-saarland.de/hadoop++.php
Hadoop++对Hadoop的优化主要是Trojan Index、Trojan Join和Trojan Layout三方面。
1、Trojan Index
Trojan index的核心是将数据组织成依次由数据、索引、Header和Footer这四部分构成的split,其中Footer是split的分界符,最后一个Footer一定位于文件末尾。索引构建时由MapReduce完成排序。查询时split函数从文件末尾开始根据Footer信息解析出各个split,itemize函数根据搜索范围条件快速定位满足条件的内容。
以数据库技术类比,Trojan Index类似于索引组织表。
2、Trojan Join
Trojan Join根据联接属性将来自多表的相关记录分到一个split,组织成类似于Trojan Index的结构,itemize出来的记录同时包含了参与联接的双方的属性,这样不再需要在查询时再根据联接属性用map/shuffle/reduce来计算联接。
以数据库技术类比,Trojan Join类似于多表聚簇。
3、Trojan Layout
类似于PAX,为block内部的数据组织方法,将查询中经常一起访问的属性组合在一起。不同复本用不同的Layout。根据负载计算最优的Layout,类似于背包算法。
以数据库技术类似,Trojan Layout类似于垂直分区,亮点是不同复本用不同的垂直分区。

同分类推荐文章

  1. 等了十年的 Go 链式管道,终于来了:seq 让你像写 Scala 一样写 Go (2026-06-25 18:38:18)
  2. Go 实验特性详解 (2026-06-21 10:05:27)
  3. amd64 微架构级别对 Go 程序性能提升多少? (2026-06-21 09:38:49)

查看更多 后端 文章 →

建议继续学习

  1. 如何成为Python高手 (累计阅读 54,992)
  2. HFile存储格式 (累计阅读 15,972)
  3. Linux 性能监控、测试、优化工具 (累计阅读 13,010)
  4. include(“./file.php”)和include(“file.php”)区别 (累计阅读 12,788)
  5. Zookeeper工作原理 (累计阅读 12,198)
  6. Rolling cURL: PHP并发最佳实践 (累计阅读 11,486)
  7. Facebook的实时Hadoop系统 (累计阅读 11,490)
  8. 关于使用STL的红黑树map还是hashmap的问题 (累计阅读 8,875)
  9. jQuery性能优化指南 (累计阅读 8,819)
  10. 提升磁盘IO性能的几个技巧 (累计阅读 8,509)