淘宝网
www.taobao.com
中国 杭州
行业:
零售业
员工人数:
超过2000
年营业额:
2008年网购交易额999.6亿元
Oracle产品和服务:
·Oracle 数据库11g
·Oracle RAC 11g
·Oracle 数据库10g
·Oracle RAC 10g
主要效益:
·利用Oracle RAC 的跨节点并行计算的技术支持海量数据处理,实现了数据仓库的动态业务查询与分析
·计算能力和节点数按线性比例增加,从容应对业务需求快速变化和数据爆炸式增长的挑战
·每天处理几亿次的用户行为,日处理的数据量接近30T
·同时每天出具400 张左右的报表
·近500 个ETL 任务能够在每天0:30-9:00 之间全部准时完成,保证了数据集市中数据的新鲜度可以到最近的一天
·提供了基于数据仓库的精确分析的个性化推荐、店铺内推荐、精确邮件定向营销以及购物风尚榜等服务项目
·实现了根据业务的发展和要求合理地扩容,在满足迅速增长的市场分析和预测需求同时保持低成本
项目实施方:
淘宝自己的数据仓库实施团队
淘宝构建20节点的RAC系统,满足数据仓库海量数据处理需求
“面对淘宝业绩的倍数成长,我们深刻地感到基于OracleRAC构建企业级数据仓库是一个正确的选择,Oracle解决方案为淘宝数据仓库提供了 支持未来持续成长的延展空间,使我们能够随着业务的发展不断提升数据仓库环境的性能,满足公司在市场分析和预测方面迅速增长的业务需求。”
汪海 淘宝网资深总监
淘宝网(www.taobao.com )由阿里巴巴集团于2003年5月10日投资创办,淘宝的业务范围跨越了C2C(个人对个人)和B2C(商家对个人)两大部分,是亚洲最大的购物网站,会员数超过1.1亿。
自2003年创立以来,淘宝飞速成长的势头就没有停止过,2007年,淘宝的交易额为433亿元,超过了沃尔玛和家乐福在中国的销售额总 和;2008年,在淘宝上仅手机就卖出了1000多万部,服装卖出了1.4亿件,交易额在更是达到了令人惊叹的999.6亿元。根据第三方权威机构调研, 淘宝2007以来一直占据中国网购市场70%以上市场份额。
为了更好地了解客户需求,总结与分析运营和管理的规则,淘宝于2004开始基于Oracle产品构建企业级数据仓库(EDW),并于2007年、 2008年和2009年三次利用Oracle RAC 10g和Oracle RAC 11g对数据仓库系统进行了升级和扩充,将数据仓库部署在全球领先的RAC系统——由20个节点组成的单一数据库集群——之上,使淘宝在数据仓库规模每年 成倍扩大的情况下,实现了数据处理和分析时效性的不断提升,过去需要数天才能完成的计算现在当天就能完成,部分以前属于小时级别的计算更是提高到了分钟级 别。
目前,淘宝数据仓库能够每天处理几亿次的用户行为,日处理的数据量接近30TB,堪称目前国内每天数据处理量最大、最忙的数据仓库。
淘宝首席DBA、资深技术专家陈吉平指出:“淘宝数据仓库不仅仅是一套数据存储和管理系统,更是一套与业务数据紧密结合的动态数据仓库系统,系统需 要每天甚至每小时动态地处理海量的增量数据和全量数据,Oracle RAC无论是在基础架构方面和还是在性能方面都非常适合我们实施高效的海量数据处理。”
构建数据仓库,续写电子商务 传奇
淘宝通过搭建一个完全自由竞争的互联网交易基础设施,创造出了一个包括了买家、卖家、支付、物流、金融、广告、搜索等环节在内的商业生态系统,从某 种程度上说,淘宝的成功意味着网购这一全新商业模式正在颠覆中国传统企业做生意的方式,也在改变着中国消费者的消费行为模式。然而面对淘宝所创造的电子商务 传奇,淘宝的管理层清醒地认识到:尽管淘宝的快速发展揭示了中国的确存在巨大的电子商务 潜在用户基础,但是在另一方面,中国电子商务 市 场目前还是一个年轻的、还远没有成熟的市场,处在一个价格敏感和体验式的阶段,因此淘宝要想在新的竞争环境下续写传奇,就需要为店铺和消费者不断提供更 新、更全面的服务,从而全面促进客户体验,培育客户的忠诚度,通过企业级数据仓库来洞察与了解客户的需求则是实现以上目标的最有效手段之一。
利用Oracle的数据仓库技术,淘宝实现了将分散在不同业务系统中的业务数据高效地抽取到集中的数据仓库平台,这些完整记录了访问点击、交易过 程、商品类目属性以及呼叫中心客服内容等方面信息的海量数据,通过数据仓库的清洗、整理、过滤、排序、合并等各种技术手段进行综合的处理,形成了包含重要 业务信息与知识的数据集市,并生成反映最新状况的统计分析数据、指标和报表,可以精确地反映出在浏览、交易、商品等方面的最新用户行为和业务趋势,使淘宝 能够及时了解和掌握用户的核心兴趣和消费特征,在交易中提供精准的个性化服务,同时在店铺的各个发展阶段有针对性地设计增值服务,全方位增强了企业的市场 竞争能力。
利用高性能平台应对海量数据处理的挑战
目前淘宝数据仓库的数据量接近30TB,但与大多数数据仓库不同的是,淘宝这30TB数据基本上都是需要每天进行动态分析的。例如,淘宝店铺的每天 用户评价数据都在不断更新中,其星级也随之不断更新,为了达到监控虚假的交易信息和评价,淘宝数据仓库需要每天查询和分析用户的评价及其星级变换情况,确 保淘宝星级诚信体系的权威性。再例如《i淘宝》——淘宝的个性化推荐平台——可以根据用户在淘宝上的历史行为习惯,直接给用户推荐适合的商品、店铺、好友 等。《i淘宝》为网络店铺针对每个客户的推荐都是个性化的,并可基于客户的兴趣进行变更,如为软件工程师列出编程类书目,为新妈妈展示婴儿玩具。然而要得 出个性化的推荐结果,需要将每天大量的客户行为轨迹信息与会员信息、商品属性信息结合起来进行综合分析处理,淘宝拥有会员超过1.1亿,商品数量超过 1.2亿,一个商品可能具备20个以上的有效属性,因此看似简单的个性化推荐其背后是极为庞大的数据计算。淘宝数据仓库不仅计算量十分巨大,且计算实效性 要求很高,这就决定了它对于数据处理能力的需求远高于一般的数据仓库。
陈吉平表示:“Oracle RAC 强大的并行处理能力为我们应对处理海量数据的挑战提供了极大的帮助,在单个节点内部,并行计算和非并行计算的效率差别是很大的。在一次性处理特别大量数据的时候,Oracle RAC的跨节点并行计算功能则体现了更大的作用。”
在《i淘宝》实现个性化推荐的计算中,通过使用Oracle RAC 跨节点并行技术,淘宝数据仓库实现了相关模块计算时间的显著缩短,最多的缩短了2小时以上,最少的也缩短了30分钟,为淘宝成功实施个性化推荐提供了重要保障。
陈吉平进一步指出:“除了《i淘宝》的个性化推荐之外,淘宝数据仓库还提供了店铺内推荐、精确邮件定向营销以及购物风尚榜等服务项目,同时每天出具 400张左右的报表,这些服务项目和数据指标使用起来非常简单,其实它们都是来自于海量数据的高度浓缩,基于Oracle RAC的高性能平台很好地支持了这些非常复杂的计算过程。”
系统可轻松扩展,支持业务的高速发展
从2004年开始构建企业级数据仓库以来,淘宝数据仓库不仅所处理业务数据每年增长数倍,更是需要不断完成新的业务需求。利用Oracle RAC能支持线性扩展的特点,淘宝轻松完成了数据仓库平台由Oracle RAC 4节点环境到12节点环境再到20节点环境的扩展,使数据仓库能够从容应对业务需求快速变化和业务数据爆炸式增长的挑战,在数据仓库的数据处理需求呈指数 级增长的情况下,系统计算的时效性不仅没有下降,反而有了显著提升,过去需要数天才能完成的计算现在当天就能完成,部分以前属于小时级别的计算更是提高到 了分钟级别。
陈吉平表示:“Oracle RAC 支持线性扩展的能力对我们来说特别重要,在大多数情况下,OracleRAC 能够实现计算能力和节点数按照线性比例增加,基本上是节点数的翻倍,处理同样数据量的计算时间减半,这对于我们根据业务的发展趋势和需求变化,经济合理地 进行IT扩容有非常大的帮助。”
利用Oracle RAC,淘宝实现了根据业务发展需要的对系统进行“按需扩展”。例如,在以前4节点的数据仓库运行环境下,只有一半的核心业务能在每天9点前完成计算,在 业务需求日益增多的情况下,淘宝将系统从4节点扩展到12节点,使全部的核心业务做到在每天9点前完成计算;为了支撑交易、用户、商品数据集市的运算,并 适应因前台业务变化带来的日常处理逻辑的复杂性,淘宝又将系统从12节点扩展到20节点,使近500个ETL任务能够在每天的0:30-9:00之间全部 准时完成,保证了数据集市中数据的新鲜度可以到最近的一天,同时实现了在新业务上线后的第一时间内就能够分析出业务的合理估值和效果。
为什么选择Oracle:
陈吉平表示:“淘宝数据仓库是典型的互联网数据仓库,源头业务变化非常快,这对于数据仓库平台的基础架构和性能方面都构成了极大的挑战,我们之所以选择Oracle RAC构建淘宝数据仓库,主要考虑该系统在以下三个方面的优势能够帮助我们应对挑战:
1、并行处理能力:
淘宝数据仓库中的许多业务查询与分析都是动态的,数据处理量十分巨大,且实效性要求很高,Oracle RAC具有非常好的并行处理能力,这对动态查询和模糊查询有很大帮助,能够有效满足淘宝数据仓库这种复杂和动态的海量数据分析处理需求。
2、可线性扩展能力:
对于淘宝这样处于新兴行业中且高速发展的企业来说,Oracle RAC 良好的线性扩展能力极为重要,它使得淘宝可以在需要的时候通过向集群中增加低成本的普通服务器来满足高性能的数据处理需求,从而获得在目前市场环境下尤为 重要的经济性。更为重要的是,Oracle RAC的线性扩展能力能够保证我们始终提供整个企业统一的信息视图和数据集市,而不会像一些扩展能力有限的系统那样,随着数据量的增长,系统性能逐渐下 降,最后不得不将数据分离,建立多个小规模的数据集市。
3、高效的系统管理能力:
对于大型的数据仓库应用系统而言,如何能有效而简单地进行系统管理是非常重要的。特别是当数据量不断扩大时,如果没有一种有效而且简单的系统管理措 施,那么系统的运行费用将会很高。Oracle ASM提供了磁盘管理、数据流量平衡,空间管理以及自动创建和删除数据文件等自动化的存储管理功能,可以有效增加数据仓库系统管理动态数据库环境的灵活 性,提高存储管理效率并降低管理成本。”
实施过程:
淘宝于2004年开始基于Oracle产品构建企业级数据仓库(EDW),最初的数据仓库解决方案在单一服务器上运行,由于这种架构无法提供所需的 灵活性和稳定性,淘宝于2007年部署了4节点的Oracle RAC 10g的数据仓库环境,并于2008年将4节点的Oracle RAC 10g的数据仓库环境扩展为12节点,同时另外部署了一个4节点的基于Oracle RAC 11g的数据库集群,用于运行部分数据仓库。2009年,淘宝将12节点Oracle RAC 10g的数据仓库环境扩展为20个节点,组成了规模上全球领先的基于Oracle RAC的数据库集群。淘宝基于Oracle RAC的数据仓库环境全部运行在基于Linux的普通服务器之上,每天的数据处理量近30TB,该系统的实施由淘宝自己的员工完成。
淘宝数据仓库应用拓扑图