• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
05 杨志丰
 

05 杨志丰

on

  • 861 views

 

Statistics

Views

Total Views
861
Views on SlideShare
834
Embed Views
27

Actions

Likes
0
Downloads
9
Comments
0

1 Embed 27

http://www.note4u.net 27

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    05 杨志丰 05 杨志丰 Presentation Transcript

    • 淘宝网大数据解决之道 淘宝OceanBase开发组 杨志丰zhuweng.yzf@taobao.com
    • Agenda淘宝数据 背景与需求解决之道 淘宝数据库解决方案未来展望 下一步工作
    • 淘宝年度交易额亿元人民币45004000 6000万用户登录/天350030002500 2083 20亿PV/天20001500 999.61000 443 500 80.2149.96 0 2003 2004 2005 2006 2007 2008 2009 2010 数据来自公开媒体
    • 淘宝网站流量一次页面展示要访问后台数据几十次!一个报表需要分析几TB乃至百TB数据! 数据来源:www.alexa.com
    • 淘宝数据(1) 离线数据:39PB+, 2000+台Hadoop机 群, 40000+个MapReduce作业/天 手机价格区间百分比 2010年淘宝上最畅销手机价格区间? 2010年什么年货最畅销? 14 16 30 1千以下 1千~2千 什么地方人最爱大闸蟹? 2千~3千糖果、蜜饯、炒货、冲饮品、饼干 40 3千以上广东、上海、浙江、江苏、北京
    • 淘宝数据(2)在线非结构化数据(图片):2700+TB商品图片,商品描述图片淘宝分布式文件系统TFS实时响应,同城热备+异地灾备
    • 淘宝数据(3)在线结构化数据:数据库商品库、评价库、交易库、用户库、店铺库…商品库:14亿/8亿(下线/在线)商品QPS/TPS:78K/2.7K(峰值)Read/Write IOPS:46K/7K(峰值)
    • 淘宝收藏夹存储买家收藏的宝贝:收藏信息表,65亿条记录宝贝信息表,4亿条记录
    • 淘宝收藏夹业务需求:每个买家可有千条收藏热门宝贝可能被十几万人收藏宝贝的价格、收藏人气等属性随时变化按宝贝属性(如价格)排序展示买家的收藏挑战:每天1.2亿次访问 响应时间<100ms
    • 收藏夹数据库100ms内完成1千次读?收藏信息表 收藏宝贝表
    • 收藏夹数据库挑战热门商品的价格/人气变化?淘宝OceanBase海量数据库 收藏信息表 收藏宝贝表
    • Agenda淘宝数据 背景与需求……解决之道 淘宝数据库解决方案 下一步工作未来展望
    • 淘宝数据库特点非常重要:几乎所有淘宝业务都依赖数量多:以千计的数据库服务器数据量大:单表几亿~几百亿条记录访问量大:每天几亿~几百亿次访问
    • 解决方案 从前 • Oracle • 小型机 • 高端存储现在• MySQL,OceanBase, Hbase,Oracle,MongoDB 等• 普通PC服务器
    • DBMS:分库与分表缓解了数据量大与访问量大的挑战业务逻辑支持扩展性、容错及故障恢复分表后事务固态盘(SSD)
    • 典型解决方案对比 Bigtable Percolato 数 r万亿记录 据 (十PB) 规 模 OceanBas HBase千亿记录 Dynamo e (百TB) Oracle/DB2 Cassandr … a千万记录 事务与数据一致性 (百GB) 最终一致 单行事务 跨行跨表事务 DBMS:事务 + 一致性,但扩展性欠缺 NoSQL:扩展性好,但事务、一致性欠缺 16
    • OceanBase设计目标可扩展:数千亿条记录、数百TB数据、数十万QPS、数万TPS事务(ACID)范围查询、联表…实时容错、自动故障恢复99.999%可用性普通PC服务器存储数据
    • 设计思想数据总量大,但更新比例小数据100TB数据,1%更新  1TB = 基准数据 + 增量数据基准数据:静态B+树、分布式存储(磁盘或SSD)增量数据:动态B树,内存 + SSD
    • 系统架构 RootServer/ RootServer/ 元数据 UpdateServe UpdateServ r er 增量数据 (主) (备)Client 基准数据 ChunkServer ChunkServe /MergeServer r/MergeServ er 数据融合
    • 数据结构 基准数据:B+树,ChunkServer(s) roottablet tablet tablet 增量数据:B树 & Copy-on-write, UpdateServer
    • 读写事务写事务:UpdateServer读事务:MergeServer(s),基准数据 +增量数据
    • 基准数据更新新的基准数据 = 旧的基准数据 + 增量数据快照,ChunkServer(s)低优先级 + 低负载时段基准数据多副本不必要同步基准数据多副本必须一致
    • 写性能&扩展性UpdateServer:B树 + Copy-on-write,10万TPS + 100万QPS(内存)Group commit + 带电池/电容RAID卡万兆网卡主备机 + 主备机群一主多备,主写备读内存 + SSD
    • 容错&故障恢复单机群:3数据副本同城热备(实时日志同步):2+2数据副本远程灾备(准实时日志同步):2+2+2数据副本数据记录自校验(磁盘&网络)在线切换、在线升级(不停服务)
    • 数据丢失几率分析n台设备,年度故障率 ,则单机t小时内故障概率为 = ×t/(365*24)恰好0台故障:(1- )n恰好1台故障:n× ×(1- )n-1恰好2台故障:n×(n-1)/2!× 2×(1- )n-2恰好3台故障:n×(n-1)×(n-2)/3!× 3×(1- )n-3……
    • 数据丢失概率年故 设备 处理 单台故 2台故 3台故 4台故障率 数量 时长 障率 障率 障率 障率 5% 10 0.5 2.9E-05 3.8E-08 2.9E-12 4.0E-16 5% 10 1 5.8E-05 1.5E-07 2.3E-11 2.8E-15 5% 10 2 1.2E-04 6.0E-07 1.9E-10 3.8E-14 5% 50 0.5 1.4E-04 2.6E-05 5.9E-08 1.0E-10 5% 50 1 2.9E-04 1.0E-04 4.7E-07 1.6E-09 5% 50 2 5.8E-04 4.0E-04 3.7E-06 2.5E-08 5% 100 0.5 2.9E-04 4.1E-04 3.8E-06 2.7E-08 5% 100 1 5.8E-04 1.6E-03 3.0E-05 4.2E-07 5% 100 2 1.2E-03 6.2E-03 2.3E-04 6.4E-06
    • 收藏夹应用半年前上线单表超过65亿条记录1.2亿次/天访问服务器数量:16*2  14*2  6*2平均查询响应时间:~80ms
    • 收藏夹线上运行图一周写事务曲线一周查询曲线平均查询响应时间
    • 双11网购狂欢节350000300000250000200000150000 交易额(万元)10000050000 0 99年 10年 11年
    • 双11收藏夹数据总库量: 170亿条记录更新操作: 1.85亿次查询: 2.3亿+2.9亿次(scan/get)峰值QPS: 9000+5000(scan/get)
    • Agenda淘宝数据 背景与需求 淘宝数据库解决方案解决之道 下一步工作未来展望
    • SSDChunkServer:大量随机读、批量顺序读和写,没有随机写5000次写入,写入量100%/天  10年寿命单机:5万QPS线上试运行中,机器数量:14  6
    • OLAPUpdateServer:增量修改,OLTP、OLAP写事务性能没有明显差异OLAP查询  多机并发开发中,Q4上线
    • MapReduce离线数据分析:避免大量数据导出完成开发,应用开发中
    • SQL部分支持SELECT ipv, count(iuv) AS ci, ipv * ciFROM lz_rpt_auction_info_dWHERE unit_id=3 AND day=D2011-10-31GROUP BY ipvHAVING ci>5ORDER BY ci DESC;
    • 不足只实现部分join尚未实现view,临时表尚未支持辅助索引…
    • 源码开放淘蝌蚪:数十个开源项目/工具http://code.taobao.org/OceanBase:淘宝海量数据库http://oceanbase.taobao.org/TFS:淘宝分布式文件系统TAIR:淘宝分布式CACHE服务……
    • Agenda淘宝数据 背景与需求解决之道 淘宝数据库解决方案 下一步工作未来展望
    • Q&A Thanks邮件: yangzhifeng83@gmail.com主页: http://net.pku.edu.cn/~yzf/微博: http://weibo.com/yangzhifeng83