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

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

  按照数据的流向来划分,我们把淘宝数据产品的技术架构分为五层(如图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. [Flutter] Android沉侵式标题栏顶部叠加层去除
  2. 我的世界正版moba服务器,hello_world
  3. MySQL的单表索引优化案例
  4. MongoDB基本概念和安装配置
  5. 2021年炼丹笔记最受欢迎的10篇技术文章
  6. 常用 API 函数(5): 文本和字体函数
  7. 双链表的基本操作---插入,删除,交,并,相邻元素的交换,不相邻元素的交换...
  8. php width,PHP imagefontwidth()用法及代码示例
  9. linux内存使用策略swap,Linux Swap使用分析
  10. Shell基础(一):Shell基础应用、简单Shell脚本的设计、使用Shell变量、变量的扩展应用...
  11. 大学计算机 学生成绩表格,学生成绩分析系统的设计与实现
  12. 关于java中求和的方法,用可变变量来解决这个问题
  13. 设计模式(12)——状态模式
  14. 2018软工实践K班总结
  15. 各个刷流量软件总结对比
  16. renpy-视觉小说转换器-编程零基础写视觉小说
  17. 清华学生的编程能力有多强?大一学生 C++作业引爆全网,特奖得主、阿里P6:我们也做不到...
  18. 1秒钟等于多少毫秒,等于多少微秒
  19. 怎么禁用笔记本的键盘
  20. python3网络爬虫(堆糖网)

热门文章

  1. 50以内的质数顺口溜_100以内的质数顺口溜
  2. 视频码率与视频清晰度、视频大小的关系。视频码率计算公式
  3. java文件传输实验分析_Java实验报告(实验五)
  4. 二叉树的类型定义与基本操作
  5. QT课程设计:C++英语单词记忆软件程序开发
  6. 源码:Spark SQL 分区特性第一弹
  7. matlab的gca和gcf,MATLAB 中gcf、gca 以及gco 的区别
  8. 简易计算机系统综合设计--函数发生器
  9. 阿里云国际版CDN 安全保护指南:管理篡改、攻击和内容
  10. 让coreseek支持拼音检索