ADC 2012 见闻

上周末(2012.07.07-07.08)第二次参加淘宝举办的技术嘉年华活动,听了一些不错的课题,也碰到了不少技术达人。当然也错过了一些本来准备听的课题内容,比较悲催的是周末两晚都给热风给吹得头疼。

这一次计划要听的内容主要集中在两个方面:Hbase和NodeJS。结果由于周日头疼,当天的Hbase场基本没赶上,只听了一场关于淘宝去Oracle的过程与感想的分享。其余的时间基本花在听NodeJS的场次上。

淘宝目前的数据量非常庞大,核心数据在30PB左右,并且每日增长在100T。整体业务从Oracle迁移到Mysql共同花费了一年左右的时间。采用的迁移策略主要有:1,从非核心业务开始,最先开始的是买家收藏夹的业务。2,oracle数据复制到mysql的策略选择,全量和增量备份的流程,数据验证过程复杂(一个验证周期需要7天,因此后期直接去除了数据验证这一部分工作)。3,项目负责人还是制定了后手方案,失败仍然可以迁移回Oracle。复杂的变更集中在两个方面,数据表的结构的变更,以及尤其带来的对原有业务逻辑的冲击。保证在线业务的正常是整个过程中必须的事情,因此核心代码冗余和重复的地方也比较多,事务处理修正复杂。

之前了解过淘宝内部的数据处理流程大体也类似先存储再交换后处理的几个步骤,当然他们现在也有实时计算方面的业务。数据交换的方式采用了三种渠道DataX,DbSync,TimeTunnel完成,这三个产品将数据主要交换到hadoop中,再利用一些产品对这些数据进行数据分析与挖掘,形成诸如量子统计,数据魔方和淘宝指数的几个主要产品,此外还可以将这些数据提供给搜索引擎使用。

淘宝去Oracle

除了数据方面的课题以外,其它的时间我基本都泡在NodeJS分享场次里。之前参加过几次NodeJS的活动,也跟一些“基友”聊过他们目前从事的NodeJS的实战情况,就目前来走在前面的基本都是大公司,实际运用在产品中也就那么几个公司。不过已经有越来越多的人开始尝试NodeJS解决一部分实际问题。网易开始用NodeJS搞web游戏框架的设计,淘宝将NodeJS运用在数据中间件方面,形成的成熟产品有淘宝指数(已知的全NodeJS产品)。阿里内部已经有多个前端团队将前端集成与发布有原先的java版本或者perl版本更迭为NodeJS版本。也有人开发了一些小的站点,如club.cnodejs.org,csser.com等。我之前也计划将nodejs应用到实际的一些场景中,无奈对js的不熟练和版本更迭太快让我感觉还需要等待一些日子。此外我觉得这个事情一个人推动是无意义的,所以还需要有队员的加入才行。

NodeJS在淘宝

最让我吃惊的是,老赵—一个狂热的人—为了宣传他自己的开源项目,完全自费来杭进行宣讲,准备在之后的个人作品使用起来。借用一下网上朋友此次的评价:

比你牛B的人比你更努力,比你们公司更加牛逼的公司加班比你们更加多,流程制度比你们公司更加健全的公司改起需求来更加频繁

文末提供一些本次或者之前的一些ppt。

1,NodeJS在淘宝
2,ADC2012IData1
这是idata的的分享内容。泽远的分享之前有听斩星讲过,这次只听了一个开头。从ppt来看,开发的IDE比之前要更完善了。提供一个web化的开发工具。