首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | HR | 镜像
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>资讯动态>开源资讯>正文

Hypertable领导者:Hadoop和分布式数据库

http://www.oklinux.cn  2008-05-05  InfoQ中文站    会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn
  数据库领域近来吸引了不少眼球。IBM不久前投资于EnerpriseDB;EnerpriseDB有一个运行在Amazon EC2上的云版本。Amazon去年末发布了他们自己的云数据库。而Google的BigTable尽管并不开源,也得到了社区的广泛研究。同样是在这个领域,两个开源项目——HBase和Hypertable利用开源Map/Reduce平台Hadoop提供了类似于BigTable的可伸缩数据库实现。InfoQ与Zvents, Inc的理论研究架构师以及Hypertable项目的创立者Doug Judd一起讨论其实现。

  1、你如何向第一次听说Hypertable的人形容这个数据库?

  Hypertable是一个开源、高性能、可伸缩的数据库,它采用与Google的Bigtable相似的模型。在过去数年中,Google为在PC集群上运行的可伸缩计算基础设施设计建造了三个关键部分。第一个关键的基础设施是Google File System(GFS),这是一个高可用的文件系统,提供了一个全局的命名空间。它通过跨机器(和跨机架)的文件数据复制来达到高可用性,并因此免受传统文件存储系统无法避免的许多失败的影响,比如电源、内存和网络端口等失败。第二个基础设施是名为Map-Reduce的计算框架,它与GFS紧密协作,帮助处理收集到的海量数据。第三个基础设施是Bigtable,它是传统数据库的替代。Bigtable让你可以通过一些主键来组织海量数据,并实现高效的查询。Hypertable是Bigtable的一个开源实现,并且根据我们的想法进行了一些改进。

  如果你运行一个高流量的网站,那么就应该关心可伸缩的计算基础设施。网站服务器的日志包含了与用户行为相关的有价值的信息。你可以分析这些日志数据,并根据分析的结果提供更好的服务。它让你可以回答这样一些问题:“如果客户购买产品X,他们还可能购买什么?”,“如果用户到达页面Y,那么在他们关闭会话之前平均会进行多少次点击?”

  2、为什么Hypertable团队要开始这样一个项目?

  Zvents的工程团队启动这个项目是因为我们认识到数据以及数据驱动工程的价值。我们认识到在高伸缩的条件下,传统的存储和信息处理工具力不从心。在我们启动项目的时候,还不存在Bigtable的开源实现,于是我们决定自己来建造那么一个数据库。我们选择开源的理由是我们觉得注定会出现一个Bigtable的开源实现。通过领导这方面的开发工作,我们可以在知识、专业技能和可靠性等方面促进竞争。

  3、为什么Hypertable需要Hadoop才能运行?

  不,Hypertable并不一定要Hadoop才能运行。Hypertable被设计成可以运行在现有的文件系统之上,比如Hadoop和HDFS。面向底层文件系统的接口已经通过一种代理(broker)机制进行了抽象。Hypertable通过标准的协议与一个DFS代理交谈,从而实现与底层文件系统的通信。我们使用的主要DSF代理是针对HDFS的代理,但我们也有针对KFS(Kosmos File System)的代理。还有一个“本地代理(local brocker)”只读写本地挂接的文件系统。“本地代理”是我们用来测试的,但同样可以用来在任何可通过FUSE挂接的分布式文件系统上运行Hypertable。至于Hadoop的其余部分,我们打算写一个InputFormat类,让Hypertable中的表可被用作map-reduce任务的输入。

  4、Hypertable相比HBase有何差异?为什么不直接贡献到HBase而要另起炉灶呢?

  Hypertable与HBase的差别是,Hypertable是Bigtable的一个更高性能的实现(InfoQ同样采访了HBase的团队)。我开始的时候跟Jim Kellerman以及Hadoop团队的一些成员一起为HBase工作。但我们对HBase应该变成什么样子有不同意见,对实现语言的选择也有不同意见。他们坚持用Java,而我力推C 。于是我就分出来,开始了Hypertable项目。

  下面的文档名为《为何选择C 而不选择Java》,里面解释了选用C 的技术原因。

  http://code.google.com/p/hypertable/wiki/WhyWeChoseCppOverJava

  虽然我们很早就与HBase项目分开,但两个团队仍然是很好的朋友。实际上我们上星期就一起出去吃午饭,同时还分享了很多实现中的情况和想法。

  5、按照我对Hadoop的粗浅理解,M/R范型很适合用来完成数据的批处理。那么Hadoop用在比较突出事务/单次请求的范型中又如何呢?

  Map-Reduce绝对是一个离线批处理系统。它很适合离线执行海量信息(如日志)的排序及筛选。这种大规模的离线计算经常会产生大量的信息供服务参考,以提供更好的用户体验。信息可能包括对每个用户的描述数据,又或者对每次请求的统计信息。这就是Hypertable发挥作用的地方,它提供了一种可伸缩的解决方案来存储经过主键索引的数据,并且可以在线查询。

  6、你在使用Hadoop的过程中觉得哪一方面是最好的?

  简而言之Hadoop运作得很好。我们在Zvents已经成功应用了Hadoop,还有很多公司在离线作业中使用Hadoop。Hadoop团队也在下面的新闻稿中描述了他们的成就:

  http://developer.yahoo.com/blogs/hadoop/2008/02/yahoo-worlds-largest-production-hadoop.html

  7、最坏的方面呢?

  我觉得Hadoop最坏的方面是这个项目已经存在了几年都还没有一个稳定的1.0版。有时候很难找到一个稳定的版本。不过最近Hadoop项目已经稳定了很多。Hadoop还有一个问题,在它的分布式文件系统中缺乏对“sync”操作的支持,因此不适合用来保存提交日志。他们已经在积极解决这个问题,在我们发布Hypertable 1.0版的时候应该就会实现了。

  8、1.0版预计在什么时候发布?

  我们会在一两个月之内发布一个Beta版,紧接着就是1.0版。如果想随时了解Beta版和1.0版的情况,请加入Hypertable的公告邮件列表:http://groups.google.com/group/hypertable-announce

  9、有什么公司在用Hypertable?

  因为Hypertable还处在alpha阶段,所以还没有公司用Hypertable来构建服务。不过很多人都对Hypertable感兴趣,我们已经有超过3000次下载。很多人也通过邮件列表给了我们很好的建议。比如Omaha, Nebraska一家企业有个人向我们报告了一个回归错误。经过邮件列表上的一番往来,他干脆把机器放到公司防火墙的外面,然后给了我一个VNC帐号去调试这个问题。我最后终于找到了问题,程序在PST之外的时区运行时会发生时间戳的转换错误。还有一个来自纽约的Stony Brook大学的博士生,他用Hypertable重新完成了Google的Bigtable基准测试,而且得到了很好的结果。像这样的社区回馈给了项目极大的帮助。上周我们给Facebook的30来位工程师做了Hypertable的演讲。他们感觉确实需要在后端工具链中加入这种类型的基础设施,并决定在Hypertable接近完成的时候试用一两个月。我们很期待看到Hypertable发布1.0版的时候能出现一些真正的应用。
共2页: 上一页 1 [2] 下一页

上一篇:与微软相媲美! Ubuntu v8.04组图欣赏   下一篇:ExtJS协议的争论:从LGPL转到GPLv3

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·ExtJS协议的争论:从LGPL转到GPLv3
·Fedora 9正式版即将发布 引发Linux热潮
·风河与Sun联合推出电信级Linux平台
·Apusic推出OperaMasks新版本
·外闻快译:Windows Vista成为全球公敌
·Novell披露SUSELinuxServer11四大特性
·开源多重触摸桌:比微软Surface还炫
·SCO CEO再出庭:“Linux是UNIX的拷贝”
·Sun发布新存储分析工具紧抓开源开发者
·开源软件服务需打造体验文化
·WINE 0.9.61 发布,1.0版本进入代码冻结状态
·龙芯CPU已完全可适应服务器应用
·Ubuntu 8.10 Intrepid Ibex发布时间表
·Sun:开源5年后颠覆商业模式,开源模式五大要点
·JavaOne热身会议发布NetBeans 6.1 PHP得到新工具支持
·Novell携微软扩展Linux管理解决方案
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Chrome赢得Tom’s Hardware Award
·Google将在2011年发行Chrome OS商业版
·Chrome插件数紧逼Firefox
·Chrome OS死对头宣布将转投Chrome阵营
·今年的Ubuntu开发者峰会将在布鲁塞尔举
·Chrome开发版Bug杀死自家离线GMail
·Chrome OS是非常坚固的系统
·ReMail iPhone应用宣布开源
·谈Android等开放平台的应用软件生态
·Chrome OS体验无与伦比
·谷歌Wave服务新增收件箱更新邮件提醒功
·Ubuntu 10.10开发日程确定
  阅读排行
·CxImage图像处理类库
·支持谷歌Android系统音悦汇T11试用评测
·开源ERP市场的“一匹黑马”
·Linux十大免费视频编辑软件大放送
·小而强大 开源播放器SMPlayer试用
·国内资深FreeBSD committer Delphij
·推荐:10款Linux平台播放器畅听音乐
·Ubuntu 9.04赏析
·Ubuntu Linux下的经典游戏大全
·Ubuntu 8.04免费为人类每天节省22万多
·龙芯上网本逸珑8089详尽评测
·深度PK: Opera9.5 vs Firefox3
·PHPWind vs Discuz谁是建站BBS首选?
·首款Android T-mobile G1多面评测
·展望Java SE 7值得期待之处
网摘收藏: