- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
淘宝–张轩丞淘宝海量数据产品技术架构
* * * * 回顾 关系型数据库仍然是王道 分库分表、冷热分离 NoSQL是SQL的有益补充 用冗余避免网络传输和随机读 用中间层隔离前后端 异构数据源的整合 缓存是系统化的工程 数据一致性、穿透与雪崩 矛盾之美 SQL NoSQL 计算时机 “预算” Hadoop / 实时计算引擎 “现算” MySQL + 中间层 Hbase + 中间层 计算场所 本地 MySQL单机 Hbase Region Server 集中 MyFOX中间层 Prom中间层 数据存储 冷 7200 SATA盘 HDFS 热 15000 SAS盘 + 缓存 HDFS + 缓存 谢谢 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 淘宝海量数据产品技术架构 张轩丞(朋春) 淘宝网-数据平台与产品部 关于 张轩丞(朋春) 淘宝数据平台与产品部(杭州) vi党,脚本语言爱好者 关注NodeJS,cnode社区组织者之一 pengchun@ :我是aleafs 数据平台与产品 淘宝网 淘宝卖家 供应商 消费者 搜索、浏览、收藏、交易、评价... 一些数字 淘宝主站: 30亿店铺、宝贝浏览 10亿计的在线宝贝数 千万量级交易笔数 数据产品: 50G统计汇总结果 千万量级数据查询请求 平均20.8ms的响应时间(6月1日) 海量数据带来的挑战 计算 计算的速度 处理吞吐量 存储 存储是为了更方便地查询 硬盘、内存的成本 查询 “大海捞针” 全“表”扫描 架构总览 主站备库 RAC 主站日志 数据源 MyFOX Prom 存储 层 数据中间层 / glider 查询 层 数据魔方 淘宝指数 开放API 产品 Hadoop集群 / 云梯 计算层 实时流数据 DataX / DbSync / TimeTunnel 1500节点,每日40000 JOB,处理数据1.5PB,凌晨2点结束,结果20T 今天的话题 关系型数据库仍然是王道 NoSQL是SQL的有益补充 用中间层隔离前后端 缓存是系统化的工程 关系型数据库仍然是王道 关系型数据库 有成熟稳定的开源产品 SQL有较强的表达能力 只存储中间状态的数据 查询时过滤、计算、排序 数据产品的本质 拉关系 做计算 SELECT IF(INSTR(f.keyword, ) 0, UPPER(TRIM(f.keyword)), CONCAT(b.brand_name, ,UPPER(TRIM(f.keyword)))) AS f0, SUM(f.search_num) AS f1, ROUND(SUM(f.search_num) / AVG(f.uv), 2) AS f3 FROM dm_fact_keyword_brand_d f INNER JOIN dim_brand b ON f.keyword_brand_id = b.brand_id WHERE keyword_cat_id IN AND thedate = 2011-07-09 AND thedate = 2011-07-07 GROUP BY f0 ORDER BY SUM(f.search_num) DESC LIMIT 0, 100 存储在DB中的数据 分布式MySQL集群 字段+条目数分片 MyISAM引擎 离线批量装载 跨机房互备 云梯 APP MySQL 集群 数据装载 数据查询 MyFOX 透明的集群中间层—MyFOX 透明查询 基于NodeJS,1200QPS 数据装载 路由计算 数据装入 一致性校验 集群管理 配置信息维护 监控报警 MyFOX-数据查询 取分片数据(异步并发) 取分片 结果合并(表达式求值) 合并计算 缓存 路由 SQL解析 语义理解 查询路由 字段改写 分片SQL 计算规则 APC 缓存 X MyFOX-节点结构 MyFOX 热节点(MySQL) 15k SAS盘,300G * 12,raid10 内存:24G 成本:4.5W / T 冷节点(MySQL) 7.2k SATA盘,1T * 12,raid10 内存:24G 成本:1.6W / T 路由表 30天无访问的冷数据 新增热数据 小结 根据业务特点分库分表 冷热数据分离 降低成本,好钢用在刀刃上 更有效地使用内存 SQL虽牛,但是… 如果继续用MySQL来存储数据,你怎么建索引? NoSQL是SQL的有益补充 全属性交叉运算 不同类目的商品有不同的属性 同一商品的属性对有很多 用户查询所选择的属性对不确定 Prometheus 定制化的存储 实时计算 Prom—数据装载 Prom Hbase Hbas
文档评论(0)