技术开发 频道

2012 DTCC:海量数据处理与Hadoop应用

        【IT168 现场报道】2012年4月13日,由IT168(ITPUB、IXPUB、ChinaUnix)主办的2012中国数据库技术大会(DTCC)在北京隆重召开。大会第三天,以“海量数据处理与Hadoop应用”为主题的圆桌讨论拉开了序幕。

  百度资深数据库架构师马如悦、百度基础架构部高级工程师孙桂林、淘宝核心系统部技术专家邓明鉴、奇虎360系统部总监唐会军一起坐阵亮相。本次圆桌会议的讨论话题关注四大方面。第一、Hadoop在各位公司的当前应用规模、解决问题讨论;第二、Hadoop当前的问题困扰讨论;第三、Hadoop当前的问题困扰讨论;第四、未来关注的项目或者方向分析。

  淘宝数据平台使用的Hadoop集群是全国最大的Hadoop集群之一, 它支撑了淘宝整个数据分析工作。整个集群最多达到1700个节点, 总容量24.3PB, 已经使用13.87PB。Hive到底是什么呢?其实HIVE就是一个SQL解析引擎,它将SQL语句转译成M/RJOB然后在Hadoop执行,来达到快速开发的目的。拨开HIVE的神秘面纱之后来看它的表其实就是一个Hadoop的目录/文件(HIVE默认表存放路径一般都是在你工作目录的hive目录里面),按表名做文件夹分开,如果你有分区表的话,分区值是子文件夹,可以直接在其它的M/Rjob里直接应用这部分数据。

  Cassandra是最初由Facebook开发的一个分布式数据存储系统。以Amazon专有的完全分布式的Dynamo为基础,结合了Google BigTable基于列族(Column Family)的数据模型。很多方面都可以称之为Dynamo 2.0。

  Hadoop使用代表单点故障大型数据管理器的NameNode体系结构来应对非常敏感的数据。如果NameNode设备对网络不起作用了,整个Hadoop系统也就瘫痪了,这就给网络管理员来保障特殊服务器的正常运行造成了很大的压力。


  HBase是一个分布式的、面向列的开源分布式数据库,采用Java实现,是Apache的Hadoop项目的子项目。HBase的表由行和列组成,并且每个存储单元 cell 都有一个时间戳,根据时间戳的不同可以保存多个版本,这样就可以记录数据的变动情况。为了管理巨大的表,把表根据行分割,这些分割后的数据称为子表,这些子表都保存在子表服务器上。

  奇虎360系统部总监唐会军表示,360目前在线的业务需要用到多小图片、视频搜索需要抓取很多网页的内容,360使用了Cassandra数据库,最初的是采用MySQL存储,但是数据大了以后,就无法满足MySQL存储,360最后选择了Cassandra而不是HBase,

  淘宝核心系统部技术专家邓明鉴表示,开源注重分享,原创的注重创新,HDFS主要用于离线文件系统。淘宝选择Hbase数据库而不是Cassandra数据库,对于淘宝来说事务的要求越来越少,Hbase在写的性能上优于Cassandra数据库,最主要还在于淘宝自有的生态圈和Java项目的扩展。

  所谓“秒杀”,就是淘宝网络在首页发布一些物美价廉的商品,所有买家在同一时间网上抢购。由于商品价格低,往往一上架就被抢购一空,有时只用一秒钟,故称“秒杀”。谈及 淘宝的秒杀系统,邓明鉴表示该系统中的数据都是爱内存中完成,使用了锁的机制。淘宝网采用了分布式服务平台,将原有系统区隔成200个左右的小系统。这种分布式服务承担了淘宝几乎所有Java远程调用的支撑及管理。为了应对数据大并发量的压力与成本控制,淘宝网的中间件系统、文件储存系统、搜索、分布式框架、缓存系统都采用了自主开发的产品,而不是采用商用产品。同时这也给像林昊这样的工程师以大量的机会,可以让他们看到软件的源码,研究了解软件内部的工作过程和原理,这对于网站的应用设计、开发、查错、优化都是非常有益的。

  谈及各自研究领域时,淘宝会关注在文件系统和操作系统、硬盘的I/O等,360表示,会根据实际的需求来选择相应的系统。百度会关注在运维的工具上,如何避免自动化工具造成的安全性问题。更多精彩内容,请查看专题


 

0
相关文章