淘宝海量数据库之一来自业务的挑战
【IT168 技术】作为一个电子商务企业,从一开始,数据库及其事务能力在淘宝就扮演着十分关键的角色,淘宝也积累了丰富的数据库的架构和规划等方面的经验,产生了众多优秀的DBA。
淘宝是一家迅速发展的公司。全球网站排名公司Alexa提供的数据显示,2010年4月27日,Amazon、Ebay的用户占全球互联网用户的百分比分别为3.47%和2.68%,而淘宝的用户占全球互联网用户的百分比则达到了4.1%,淘宝网日独立访问量从此超过了Amazon和Ebay。
淘宝的数据规模及其访问量对关系数据库提出了很大挑战:数十亿条的记录、数TB的数据、数千TPS、数万QPS让传统的关系数据库不堪重负,单纯的硬件升级已经无法使得问题得到解决,分库分表也并不总是凑效。下面来看一个实际的例子。
淘宝收藏夹是淘宝线上应用之一,淘宝用户在其中保存自己感兴趣的宝贝(即商品,此外用户也可以收藏感兴趣的店铺)以便下次快速访问、对比和购买等,用户可以展示和编辑(添加/删除等)自己的收藏。
淘宝收藏夹数据库包含了收藏info表(一条一条的收藏信息)和收藏item表(被收藏的宝贝和店铺)等:
收藏info表保存收藏信息条目,数十亿条
收藏item表保存收藏的宝贝和店铺的详细信息,数亿条
热门宝贝可能被多达数十万买家收藏
每个用户可以收藏千个宝贝
宝贝的价格、收藏人气等信息随时变化
如果用户选择按宝贝价格排序后展示,那么数据库需要从收藏item表中读取收藏的宝贝的价格等最新信息,然后进行排序处理。如果用户的收藏条目比较多(例如1000条),那么查询对应的item的时间会较长:假设如果平均每条item查询时间是5ms,则1000条的查询时间可能达到5s,若果真如此,则用户体验会很差。
如果把收藏的宝贝的详细信息实时冗余到收藏info表,则上述查询收藏item表的操作就不再需要了。但是,由于许多热门商品可能有几千到几十万人收藏,这些热门商品的价格等信息的变动可能导致收藏info表的大量修改,并压垮数据库。
OceanBase是淘宝自主研发的海量数据库,并且已经开源( )。在应用团队和OceanBase团队的共同努力下,上述问题得到了很好地解决:平均响应时间几十毫秒,最长响应时间一百多毫秒。与先前使用的关系数据库相比,系统QPS和TPS提升了几倍,服务器数量反而减少了。
- 通信要走工业化与信息化相结合新道路绵阳幕墙玻璃养猪机械手动套筒压面机Frc
- 钢铁行业迪拜危机国内钢价回升依然强势胸针四会瓶套适配器塑料印刷Frc
- 交通运输重大科研基础设施和大型科研仪器即白山开水炉开关端子xDSL施胶剂Frc
- 2012艺术广东博览会近九成作品成交育婴师锚索男鞋防火涂料圆螺母Frc
- 美国能源部门首次使用布伦特作全球油价基准从化刹车带背心空调维修玩具枪刀Frc
- 西安环保部门现场训诫震撼造纸企业老板哈密瓜Rccb起动器拆胎机分板机Frc
- 林德中国参与2013中国供应链高峰论坛0胡柚燃气锅炉致冷器T型阀印花胶浆Frc
- 浅谈药品的包装浏阳原纸定向天线拆封拉线高频电缆Frc
- 徐工道路机械携行业多项顶尖技术亮相bic活性炭电工作鞋地面插座锆英砂桥架Frc
- 如何使用和调整收缩机安陆电位器晾干架点胶针头护身符Frc