每天都有无数的人在使用着淘宝,因此淘宝网拥有国内最具商业价值的海量数据,而帮助消费者进行理性的购物决策,是淘宝数据平台与产品部的使命。那么淘宝海量数据是如何分析处理的呢?此篇文章以数据魔方技术为我们进行了一些关于淘宝在海量数据产品技术架构方面的探索讲解。以下是我的读书笔记:

  数据产品的一个最大特点是数据的非实时写入,正因为如此,可以认为,在一定的时间段内,整个系统的数据是只读的。这为我们设计缓存奠定了非常重要的基础。

  按照数据的流向来划分,我们把淘宝数据产品的技术架构分为五层(如图1所示),分别是数据源、计算层、存储层、查询层和产品层。位于架构顶端的是我们的数据来源层,这里有淘宝主站的用户、店铺、商品和交易等数据库,还有用户的浏览、搜索等行为日志等。这一系列的数据是数据产品最原始的生命力所在。

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

  以上是淘宝海量数据产品在技术架构方面的一个概括性的介绍,接下来我将重点从四个方面阐述数据魔方设计上的特点。

  关系型数据库仍然是王道

  NoSQL是SQL的有益补充

  用中间层隔离前后端

  缓存是系统化的工程

  正是基于本文所描述的架构特点,数据魔方目前已经能够提供压缩前80TB的数据存储空间,数据中间层glider支持每天4000万的查询请求,平均响应时间在28毫秒(6月1日数据),足以满足未来一段时间内的业务增长需求。尽管如此,整个系统中仍然存在很多不完善的地方。

  通过此次阅读,我相信,过不了几年,淘宝数据产品的技术架构一定会是另外的样子,更加适应时代发展。

转载于:https://www.cnblogs.com/liurx/p/11052906.html

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

  1. trainer setup_Detectron2源码阅读笔记-(一)Configamp;Trainer

    一.代码结构概览 1.核心部分 configs:储存各种网络的yaml配置文件 datasets:存放数据集的地方 detectron2:运行代码的核心组件 tools:提供了运行代码的入口以及一切可 ...

  2. VoxelNet阅读笔记

    作者:Tom Hardy Date:2020-02-11 来源:VoxelNet阅读笔记

  3. Transformers包tokenizer.encode()方法源码阅读笔记

    Transformers包tokenizer.encode()方法源码阅读笔记_天才小呵呵的博客-CSDN博客_tokenizer.encode

  4. 源码阅读笔记 BiLSTM+CRF做NER任务 流程图

    源码阅读笔记 BiLSTM+CRF做NER任务(二) 源码地址:https://github.com/ZhixiuYe/NER-pytorch 本篇正式进入源码的阅读,按照流程顺序,一一解剖. 一.流 ...

  5. Mina源码阅读笔记(一)-整体解读

    2019独角兽企业重金招聘Python工程师标准>>> 今天的这一节,将从整体上对mina的源代码进行把握,网上已经有好多关于mina源码的阅读笔记,但好多都是列举了一下每个接口或者 ...

  6. “CoreCLR is now Open Source”阅读笔记

    英文原文:CoreCLR is now Open Source 阅读笔记如下: CoreCLR是.NET Core的执行引擎,功能包括GC(Garbage Collection), JIT(将CIL代 ...

  7. QCon 2015 阅读笔记 - 团队建设

    QCon 2015阅读笔记 QCon 2015 阅读笔记 - 移动开发最佳实践 QCon 2015 阅读笔记 - 团队建设 中西对话:团队管理的五项理论和实战 - 谢欣.董飞(今日头条,LinkedI ...

  8. 05《软件需求模式》阅读笔记

    剩下的两个阅读笔记写第二部分.各类需求模式,共八个领域和它的需求模式,这一次写前四个. 基础需求模式,它是所有种类的系统都可能需要的一些东西.系统间接口需求模式使用系统间接口需求模式定义被定义的系统和 ...

  9. [置顶] Linux协议栈代码阅读笔记(一)

    Linux协议栈代码阅读笔记(一) (基于linux-2.6.21.7) (一)用户态通过诸如下面的C库函数访问协议栈服务 int socket(int domain, int type, int p ...

  10. 大型网站技术架构:核心原理与案例分析阅读笔记二

    大型网站技术架构:核心原理与案例分析阅读笔记二 网站架构设计时可能会存在误区,其实不必一味追随大公司的解决方案,也不必为了技术而技术,要根据本公司的实际情况,制定适合本公司发展的网站架构设计,否则会变 ...

最新文章

  1. Go Code Review Comments 翻译 编写优雅golang代码
  2. Excel打开csv文件显示乱码问题解决方法
  3. 在CentOS 6上搭建LNMP环境
  4. Swift UISearchController
  5. c# Point不能输入小数
  6. oracle运维dba面试题,一份DBA面试题目---亲身经历
  7. “21天好习惯”第一期-8
  8. git revert与git reset
  9. Gateway配合sentinel自定义限流_Spring Cloud Gateway网关如何快速实施限流方案?-Part 6...
  10. 【图像分类】基于matlab多种特征结合支持向量机脑MRI肿瘤分类【含Matlab源码 2149期】
  11. laravel安装barryvdh/laravel-snappy 笔记
  12. 逆波兰式 java_逆波兰式(后缀表达式)的计算 中缀表达式转后缀表达式(逆波兰式)【java实现】...
  13. Android 应用市场链接上传地址
  14. Python游戏概率补偿算法-马尔科夫链
  15. 1.2 储存卡牌信息———自制卡牌游戏之旅
  16. 用vs2017写php,windows下开发php7.2拓展,vs2017
  17. IntelliJ IDEA之内存不够提示os::commit_memory failed
  18. unsupported dynamic reloc R_ARM_REL32 AND hidden symbol '__dso_handle' is not defined
  19. Bootloader(启动引导程序)--->u-boot
  20. 先瑞达医疗冲刺IPO,上市前夕向股东派发股息超5000万美元

热门文章

  1. P3376 【模板】网络最大流
  2. 李力刚《谈判博弈》读书笔记
  3. 实验报告 三密码破解技术
  4. c语言程序中如何用超链接,使用id引用超链接
  5. 香港服务器的数据泄露是什么?怎样预防?
  6. @property的用法
  7. Shell判断路径是否存在
  8. 研究生学习生活日记——slow down
  9. GNU Radio系列教程(四):初级篇之GNU Radio GRC采样率
  10. git 放弃本地修改