作为大型的电商平台,淘宝掌握的核心数据技术——数据魔方技术。

  用一组数据可以看出淘宝平台的数据庞大:淘宝网拥有国内最具商业价值的海量数据。截至当前,每天有超过30亿的店铺、商品浏览记录,10亿在线商品数,上千万的成交、收藏和评价数据。

  淘宝数据产品的技术架构分为五层,分别是数据源、计算层、存储层、查询层和产品层。位于架构顶端的是我们的数据来源层,这里有淘宝主站的用户、店铺、商品和交易等数据库,还有用户的浏览、搜索等行为日志等。

  在数据源层实时产生的数据,通过淘宝主研发的数据传输组件DataX、DbSync和Timetunnel准实时地传输到一个有1500个节点的Hadoop集群上,这个集群我们称之为“云梯”,是计算层的主要组成部分。在“云梯”上,我们每天有大约40000个作业对1.5PB的原始数据按照产品需求进行不同的MapReduce计算。这一计算过程通常都能在凌晨两点之前完成。相对于前端产品看到的数据,这里的计算结果很可能是一个处于中间状态的结果,这往往是在数据冗余与前端计算之间做了适当平衡的结果。

  不得不提的是,一些对实效性要求很高的数据,例如针对搜索词的统计数据,我们希望能尽快推送到数据产品前端。这种需求再采用“云梯”来计算效率将是比较低的,为此我们做了流式数据的实时计算平台,称之为“银河”。“银河”也是一个分布式系统,它接收来自TimeTunnel的实时消息,在内存中做实时计算,并把计算结果在尽可能短的时间内刷新到NoSQL存储设备中,供前端产品调用。

  容易理解,“云梯”或者“银河”并不适合直接向产品提供实时的数据查询服务。这是因为,对于“云梯”来说,它的定位只是做离线计算的,无法支持较高的性能和并发需求;而对于“银河”而言,尽管所有的代码都掌握在我们手中,但要完整地将数据接收、实时计算、存储和查询等功能集成在一个分布式系统中,避免不了分层,最终仍然落到了目前的架构上。

  尽管相对于非关系型数据库而言,关系型数据库在分区容忍性(Tolerance to Network Partitions)方面存在劣势,但由于它强大的语义表达能力以及数据之间的关系表达能力,在数据产品中仍然占据着不可替代的作用。

  目前,存储在MyFOX中的统计结果数据已经达到10TB,占据着数据魔方总数据量的95%以上,并且正在以每天超过6亿的增量增长着(。这些数据被我们近似均匀地分布到20个MySQL节点上,在查询时,经由MyFOX透明地对外服务。

  值得一提的是,在MyFOX现有的20个节点中,并不是所有节点都是“平等”的。一般而言,数据产品的用户更多地只关心“最近几天”的数据,越早的数据,越容易被冷落。为此,出于硬件成本考虑,我们在这20个节点中分出了“热节点”和“冷节点”。

  顾名思义,“热节点”存放最新的、被访问频率较高的数据。对于这部分数据,我们希望能给用户提供尽可能快的查询速度,所以在硬盘方面,我们选择了每分钟15000转的SAS硬盘,按照一个节点两台机器来计算,单位数据的存储成本约为4.5W/TB。相对应地,“冷数据”我们选择了每分钟7500转的SATA硬盘,单碟上能够存放更多的数据,存储成本约为1.6W/TB。

  将冷热数据进行分离的另外一个好处是可以有效降低内存磁盘比。从图4可以看出,“热节点”上单机只有24GB内存,而磁盘装满大约有1.8TB(300 * 12 * 0.5 / 1024),内存磁盘比约为4:300,远远低于MySQL服务器的一个合理值。内存磁盘比过低导致的后果是,总有一天,即使所有内存用完也存不下数据的索引了——这个时候,大量的查询请求都需要从磁盘中读取索引,效率大打折扣。

  正是基于本文所描述的架构特点,数据魔方目前已经能够提供压缩前80TB的数据存储空间,数据中间层glider支持每天4000万的查询请求,平均响应时间在28毫秒,足以满足未来一段时间内的业务增长需求。尽管如此,整个系统中仍然存在很多不完善的地方。一个典型的例子莫过于各个分层之间使用短连接模式的HTTP协议进行通信。这样的策略直接导致在流量高峰期单机的TCP连接数非常高。所以说,一个良好的架构固然能够在很大程度上降低开发和维护的成本,但它自身一定是随着数据量和流量的变化而不断变化的。

想原文编写者致敬。

本文部分总结摘抄自原文的专业术语,如有不适或侵权,请联系(15227013954),立即删除,谢谢

转载于:https://www.cnblogs.com/zhaochunhui/p/10638441.html

《淘宝数据魔方技术架构解析》阅读总结相关推荐

  1. 【读书】《非暴力沟通》

    得益于十点读书,在2月中完成开年来的第二本书籍阅读.本书作者马歇尔.卢森堡博士是国际性缔造和平组织非暴力沟通中心(CNVC)的创始人和教育服务主管,马歇尔.卢森堡博士由于在促进人类和谐共处方面的突出成 ...

  2. 《非暴力沟通》读书笔记

    <非暴力沟通>读书笔记 [本书作者] 马歇尔·卢森堡,卡尔·罗杰斯的弟子,同时其思想深受"圣雄"甘地和存在主义哲学大师马丁·布伯的影响. [本书要解答的问题] 是什么使 ...

  3. 摘录与感想:非暴力沟通

    摘录与感想:非暴力沟通 1.观察2.感受3.需要4.请求 首先,留意发生的事情.我们此刻观察到什么?不管是否喜欢,只是说出人们所做的事情.要点是,清楚地表达观察结果,而不判断或评估.接着,表达感受,例 ...

  4. 《非暴力沟通》:有些话真的可以好好说

    本文结构 - 前言 - 非暴力沟通简介 - 01 观察和评价 - 02 体会表达感受 - 03 感受背后的需求 - 04 提出请求 - 需求驱动 - 好好说话的力量 本文共计:3000字4图 预计阅读 ...

  5. 《非暴力沟通》- 笔记

    非暴力沟通的核心:当我们情绪受伤的时候,都是某些需求没有满足.你现在最要做的是发现需求,而不是发泄情绪.情绪是双刃剑,说出去很爽快,但会造成不好的后果. 非暴力沟通的步骤: 先说事实 再说感受 再说自 ...

  6. 2016年第7本:非暴力沟通

    周首送我的这本书<非暴力沟通>(NVC,Nonviolent Communication),是马歇尔·卢森堡博士发明的一种沟通方式,全书强调了四要素,共8个字:观察.感受.需要.请求.就是 ...

  7. 《非暴力沟通》听书心得

    沟通很多时候也是一门艺术,不是吗? 1.  一句话总结 非暴力沟通方法可以概况为四个字:观.感.需.求 观(观察).感(感受).需(需求).求(请求) 2.   精髓含义 观:仔细观察当下,而不要和& ...

  8. 【读书笔记】非暴力沟通

    文章目录 背景 理论 感受 反省 总结 推荐 背景 这个季度看了几本书,比如<一个人的朝圣>.<呼兰河传>.<元红>等等,女友也推荐了一本书给我,书名是<非暴 ...

  9. 读《非暴力沟通》马歇尔·卢森堡

    前言 非暴力生活的一个关键就是:感激生活的赐予,而不贪心 为了清晰的表达感受,我们编制了以下的词汇表 表达我们的需要得到满足时的感受 兴奋/喜悦/欣喜/甜蜜/精力充沛/兴高采烈/ 感激/感动/乐观/自 ...

  10. 《非暴力沟通》读后感

    最近几天偶然了发现桌角的kindle,才发现原来已经好久没有碰过她了.打开封盖,还有百分之60+的电量,着实让我一惊. 为了不让花出去的钱白白吃土,于是每天晚上睡觉前,就打开kindle看一会儿, 最 ...

最新文章

  1. linux命令简单汇总,直通车
  2. Ubuntu16.04如何换pip源
  3. java库net2.0下载_.NET Framework各版本独立下载.NET Framework 3.5下载.NET Framework 2.0下载...
  4. 看完这些福利才知道,为什么说双12一定要出去浪
  5. 实时监听input输入框value的变化:
  6. Python_类的特殊成员方法
  7. ubuntu14.04设置sublime text3为默认文本编辑器
  8. 秋招复习-后端(C++)
  9. javascript拾遗
  10. Rust : 性能测试criterion库
  11. 支付宝sdk——python-alipay-sdk
  12. spring配置事务
  13. Miller_Rabin(米勒拉宾)素数测试
  14. discuz手机端默forum.php,discuz手机wap版模板开发方式简述
  15. BZOJ2794 Cloakroom【有限制的背包问题】
  16. zjnu 1779 KRUŽNICE(线段树成段更新+离散化)
  17. Linu修改系统时间
  18. 深度学习-训练集图片输入神经网络前的标准化(附代码)
  19. cobbler(一) cobbler实现系统自动安装
  20. Centos7-Linux

热门文章

  1. POST和Get辨析
  2. 在线教育行业报告汇总(附下载)
  3. padding oracle attack相关之padding oracle attack
  4. 高分辨率影像卫星之法国
  5. c#实现winform关机代码
  6. Z370服务器系统,新机技嘉Z370主板Bios设置及重装win7系统|Z370主板安装win7教程
  7. 江西财经计算机科学与技术怎么样,江西财经大学现代经济管理学院计算机科学与技术专业课有哪些...
  8. 12.0 自定义SystemUI下拉状态栏和通知栏视图(二十)之锁屏通知布局
  9. DXF搭建过程中常见的异常及解决方法
  10. 淘宝双主图技术解析(附工具包)