Chinaunix

标题: MySQL版《一周一议》之双11和数据库的故事(积分已转账-2012-11-29) [打印本页]

作者: chinafenghao    时间: 2012-11-12 10:32
标题: MySQL版《一周一议》之双11和数据库的故事(积分已转账-2012-11-29)
积分已转账,请注意查收!

本贴是mysql板《一周一议》的第一个话题,对应上双11,哇,好多1。是一个不错的兆头哟,希望我们的mysql板《一周一议》能够得到网友的喜欢和认可。
本周的话题是和双11,及数据库有关,主要讨论一下两点:

1、双11.11你购了什么,购的过程中发现了哪些技术瓶颈?
     解释:(主要通过你前台购买时操作过程中,页面的反馈信息,来推断和发现后台的处理方法和瓶颈)
2、如果你是淘宝的数据库架构师,你会如何设计双11活动数据库故障的紧急处理预案?

活动奖励:
1、每周会评选一位最活跃的用户,有一本mysql相关的书籍送出,本周送出的书籍是《mysql技术内幕,SQL技术编程》。
2、由于是话题讨论,所以每位参加者都能获得适当的积分奖励。最低20分,最高不限,^_^想要赚分的朋友也可以来凑热闹哟。

如果你有好的话题,请移步《 MySQL版《每周一议》活动开山贴,欢迎大家提出主题!》通过回帖或者给管理员发送短信的方式提交你感兴趣的话题。
作者: chinafenghao    时间: 2012-11-12 10:49
1、双11.11你购了什么,购的过程中发现了哪些技术瓶颈?
关于第一点,我先说点我的发现吧。
11号凌晨,我发现了几个细节。
1、添加购物车添加不成功,不用从新刷新和跳转页面,系统会直接在在添加购物车的上面弹出提示,然后你可以再次尝试添加购物车。
这个功能对技术来说可以减小压力,对用户来说可以提高用户体验,很棒的设计。
2、在凌晨0点40分左右。我发现我的购物车有一部分数据消失了,在2点左右,那部分数据又自动恢复了。
这个很可能是天猫的购物车数据库有一台垮掉了,经过1个多小时的修复,这台数据库或者这台数据库的数据又从新上线了。
3、秒杀功能,我被坑了。
我昨天参加了一次1元换购的活动,类似秒杀吧。我为了计时准确,时间用的是天猫没小时11分有个秒杀的页面,那个页面有倒计时。可是我在离整点还有20s的时候去刷新1元换购,结果告知商品已经木有了。深深的被坑了。

下面请大家继续..............

作者: banditsmile    时间: 2012-11-12 11:00
双十一一分钱没花的路过。

不过有个问题,如果淘宝用mysql数据库做这次活动,不知道要用多少台
作者: beyondfly    时间: 2012-11-12 11:11
我先提一下本话题的一些bug, 1.mysql板,应该是mysql版,二我没有参与昨天的双11换购活动,活动是很多商家都采用先提价再降价的方式来吸引消费者,消费者真正买到手的东西甚至根本就没有便宜,有的商家虽然是打了5折了,但根本就没有货,对于双11与数据库的压力,这个话题还是比较吸引人,双11有数据访问量,根本不是测试环境可以模拟的,瞬间的并发访问量大得惊人,在其中,用户大量查询,是一个读多写少的过程。另外,用户采购后,需要通过支付宝进行支付,这里涉及的对数据库的写操作。去年阿里开始了轰轰烈烈的去IOE的运行,不知道支付宝是否采用的MySQL数据库。
作者: beyondfly    时间: 2012-11-12 11:12
回复 2# chinafenghao


    这种秒杀,根本就是忽悠人,任凭你再快的电脑,光纤到户的网络,也无法秒杀成功的
作者: chinafenghao    时间: 2012-11-12 11:41
@beyondfly
谢谢指正,已经修改。
在双11消费了。我说说纯消费者角度的体验吧。
价格呢,针对3C类型的商品来说比平时便宜一点点。前提是你要参加各种活动,比如抢红白,预充值之类的。
这次活动可以下手的主要还是以穿为主的商品。
内衣,内裤,睡衣,羽绒服,鞋子之类的。相比平时降价有20%左右。换季了有些东西必须添置,所以一个是凑热闹,一个是图方便。

我也不是这次活动的重度玩家,所以只能做一些简单,而且不专业的评述。
作者: chinafenghao    时间: 2012-11-12 11:41
@beyondfly
秒杀就是时间点碰上了,闹着玩的,每小时守着去秒杀的人不多。
作者: chinafenghao    时间: 2012-11-12 11:44
@beyondfly
说到支付宝,我还发现一个细节。

到支付宝的流量是坐过控制的。如果超过流量,你是跳不到支付宝那边去,当你能够跳过去的时候,支付宝是决定可以保证你的支付完成的。这也算是不把压力放到核心服务上的考虑,绝对不能让核心服务垮掉。
作者: chinafenghao    时间: 2012-11-12 11:44
@banditsmile
这是您的处女帖?
作者: zongg    时间: 2012-11-12 13:04
1、双11.11你购了什么,购的过程中发现了哪些技术瓶颈?

肯定是数据库顶不住了,支付宝交易未能完成,
2、如果你是淘宝的数据库架构师,你会如何设计双11活动数据库故障的紧急处理预案?

量太大了,不会啊.
作者: send_linux    时间: 2012-11-12 13:12
http李成功 发表于 2012-11-12 11:50
【被屏蔽】

这个是啥?
作者: Hongqiyaodao    时间: 2012-11-12 13:20
提示: 作者被禁止或删除 内容自动屏蔽
作者: xike2002    时间: 2012-11-12 14:24
本帖最后由 xike2002 于 2012-11-12 14:32 编辑

      今年的双11是各大电商相互争抢的时刻,场面异常火爆。看新闻上说爽11期间,网购交易额达到300亿人民币,其中仅天猫商城一家的营业额就达到100亿人民币,这个数字真的是太可思议,恰恰是这种不可思议的数据见证中国互联网行业的快速发展。
    仔细想一想天猫的案例,用户访问量大,并发数大,访问速度慢,这些都是我们遇到的问题,但是不管他们后台用的SQLserver、ORACLE还是SYBASE,总之经过开发团队和运维团队的努力,这些问题都很好的得到了解决。
作者: banditsmile    时间: 2012-11-12 15:00
回复 11# chinafenghao


    被板板发现了,{:2_168:}


请教一下,如何能快速的达到发帖回帖不输入两个验证码
作者: hbsycw    时间: 2012-11-12 15:30
本帖最后由 hbsycw 于 2012-11-12 15:31 编辑

1、双11.11你购了什么,购的过程中发现了哪些技术瓶颈?
     答:双11购买了一些户外装备,购买过程和平时一样,基本比较流畅,没有发现什么问题。只是在购买之前,受充值送红包诱惑,充了几百RMB, 在整点抢红包充值的过程中,跳转支付宝,有几次失败体验,应该是技术瓶颈:用户太多,系统压力比较大。但系统做的比较友好,会自动重复3次跳转提交,每次会间隔几分钟,如此提交三次都不成功,则系统会放弃尝试。这应该是系统主动对负载的一种自我保护,以防核心业务系统崩溃。据此,可以看到成熟电商应对大并发、高流量的解决之道,解决问题不仅是技术水平,更是技术策略的合理运用。

2、如果你是淘宝的数据库架构师,你会如何设计双11活动数据库故障的紧急处理预案?
     答:作为一名架构师,对于系统架构,也许你应该有这样的认识,业务架构看需求,技术架构看成本。如何以最小的投入,而构建出支持大并发、高流量的业务系统,应该是每个优秀架构师的奋斗目标。从系统架构来讲,资源总是有限的。一个系统能够同时支持的用户数,不可能是无限的,这不是说技术上达不到,而是,从硬件投入到系统商业产出的一个合理规划问题。毕竟,像双11这样的高并发、大流量业务应用时间,平时是比较少的。但,因为是瞬间压力爆发,如果系统没有合理的技术架构和应对策略,显然,系统是无法承受的。回到正题,如果作为一名设计双11活动的的数据库架构师,针对这种读多、写少(大量的系统行为,应该是查询)的特定业务场景,多主多从的系统可扩展架构应该是比较好的,根据以往的系统峰值,合理预估活动的参加人数(一般会对这个预估值再乘上一个系数:1.5或者2,前提是你有比较专业的系统压力测试),做好系统的扩容;其次,做好系统的调度,对于非活动期间的一些系统行为,能停掉的就先暂时停掉,确保主核心主业务的运行;最后,做好系统的监控,超过峰值,要进行限流,高可用的系统架构,网上很多,就不赘述。
作者: qinyiwang    时间: 2012-11-12 16:41
1、双11.11你购了什么,购的过程中发现了哪些技术瓶颈?
我买了一个灯,一件衣服,充了一次话费。均使用手机客户端操作。
在充的话费到账后,我立即在客户端进行评价。结果点击“确认评价”后弹出对话框“评价失败 HTTPRequest failed!” 评价了几次都没有看到成功的页面。隔了一段时候以后再评价发现提示“待评价订单状态不正确” 啊哦
还有凌晨秒杀的时候感觉服务器太繁忙,那时候下单可能付款什么会有不正确的返回。应付大点击量还是不太行啊
之前抢红包有个活动也从20:00拖到了21:00说出现了技术故障。

2、如果你是淘宝的数据库架构师,你会如何设计双11活动数据库故障的紧急处理预案?
备份多点吧
作者: seesea2517    时间: 2012-11-12 17:40
1、双11.11你购了什么,购的过程中发现了哪些技术瓶颈?
对这些商家的噱头没有很多的兴趣,随便看了几个商品的交易记录,价格并没有变化。
只是对之前购买收到货的东西做了个确认收货,然后在评价的时候提示“评价失败,小二正在紧急修复”,回退页面后点击评价提示已评价,查看评论确实已经成功了。
推测可能是页面提交后,数据库繁忙,导致页面超时,但数据库在超时时间后又写入成功了。

2、如果你是淘宝的数据库架构师,你会如何设计双11活动数据库故障的紧急处理预案?
像我这种情况应该是比较少的,因为大部分东西都是卖出后几天才开始评价,所以这个问题也不需要太多关注。
我不是架构师,没啥专业的想法。个人认为可以如下考虑:
- 主从,有故障时可快速切换
- 从产品策划的活动来预测可能的瓶颈服务,进行负载均衡,及做好监控
作者: dengbao2001    时间: 2012-11-12 18:18
双11,我真没在淘宝凑这个热闹,说实话雷声大,雨点小。

倒是在中午12点事情,帮弟弟抢购了一个小米青春版的手机。

12点那个时候,网页打开非常非常的慢
作者: chinafenghao    时间: 2012-11-12 18:31
@seesea2517
我觉着这点灰常棒,一定要从业务需求入手。
作者: chinafenghao    时间: 2012-11-12 18:32
@hbsycw
”据此,可以看到成熟电商应对大并发、高流量的解决之道,解决问题不仅是技术水平,更是技术策略的合理运用“
可以看出作者在技术和业务方面的掌控力非常强,要成为优秀的架构师,一定要技术,业务通吃。作者很棒。:wink:


作者: chinafenghao    时间: 2012-11-12 18:34
@xike2002
其实好的产品经理还会通过对业务的合理规划,避免和减少技术压力。
作者: sunny7476    时间: 2012-11-12 21:10
双十一,帮女朋友买了衣服。实验室的网速是一如既往的慢。遇到刷新不出来了。总是先怀疑自己的网是不是又掉了。从来不会责备网站的。。。
还有,不明白为什么“空军节”弄的这么隆重,都快赶得上国庆了。就算11月是“节日的假日”,我还是想不通为什么在“成双成对的日子”里做活动。
作者: 平凡人未来    时间: 2012-11-12 21:38
发现对于比较出名的商家,比如anta旗舰店,比较卡。
而对一些比较不怎么出名的天猫商家,像我买的羽毛球鞋的,比较流畅。
作者: wangenbaosy    时间: 2012-11-12 22:13
这个话题没法参加,我不是过双11的人啊。
作者: 7looki    时间: 2012-11-12 23:18
个人感觉, 如果现在淘宝已经全部使用的是 MySQL 的话, 在双11能顶的住这么大压力, 说明 MySQL 完全可以胜任电商的后台数据库.
虽然 MySQL 在性能上不如 Oracle/DB2 等, 但是已经够用了, 并且为企业减少了很大的资金投入, 当然这背后还要有强大的技术团队支持.
作者: chinafenghao    时间: 2012-11-13 09:05
@sunny7476
呵呵,为什么是双11,这个可能市场和运营,策划考虑了很多因数后决定的吧。
作者: chinafenghao    时间: 2012-11-13 09:07
@7looki
淘宝网基本都是mysql了。支付宝主要还是oracle。
mysql在OLTP上面还是很好用的。
作者: love100    时间: 2012-11-13 09:10
淘宝网数据库部分的架构拿出来,大家讨论一下的话,应该是可以的,所谓的双11没有凑热闹,因为去年被忽悠过,以后不会再参了.
作者: pitonas    时间: 2012-11-13 09:46
是图个方便。
来凑热闹哟。
作者: xike2002    时间: 2012-11-13 10:10
是的,产品经理对于市场需求的准确把握以及产品规划的精心安排,还有在产品上线时机的合理选择至关重要啊,这次双11各大电商是准备已久啊,当然效果也是相当客观啊,自其中整个产品团队功不可没啊。
chinafenghao 发表于 2012-11-12 18:34
@xike2002
其实好的产品经理还会通过对业务的合理规划,避免和减少技术压力。

作者: xike2002    时间: 2012-11-13 10:18
是的,产品经理对于市场需求的准确把握和产品的合理定位以及上线时机的恰当选择至关重要。这次双11各大电商可谓是收获不小啊,当然可想而知收获的背后是整个产品团队付出的巨大的努力啊。
chinafenghao 发表于 2012-11-12 18:34
@xike2002
其实好的产品经理还会通过对业务的合理规划,避免和减少技术压力。

作者: chinafenghao    时间: 2012-11-13 10:36
@xike2002
付出是必须的。
作者: Drewsun    时间: 2012-11-13 11:18
我是晚上tao的,可惜没碰到高峰期~~
作者: 懒狒狒    时间: 2012-11-13 13:06
中午给朋友买东西,不是搞活动的那种,打不开,应该是淘宝限流了

作者: txoscarr    时间: 2012-11-13 14:29
chinafenghao 发表于 2012-11-12 10:49
1、双11.11你购了什么,购的过程中发现了哪些技术瓶颈?
关于第一点,我先说点我的发现吧。
11号凌晨,我发 ...


个人理解,数据库是不应该过了2个小时才恢复的,作为一个成熟的J2EE应用,server的集群是一定会做的,即使没有做集群,最起码的主备也是必要的,
对于阿里系来说我觉得在那2个小时的时间内应该是在做数据同步一类的工作吧,但真相究竟如何,我们就不知道了
作者: txoscarr    时间: 2012-11-13 14:33
xike2002 发表于 2012-11-12 14:24
今年的双11是各大电商相互争抢的时刻,场面异常火爆。看新闻上说爽11期间,网购交易额达到300亿人民币 ...


别的公司不知道,但是对于阿里系的app全部是开源的,后台确实用的是mysql当然了,一定是经过了他们自己的封装,Hbase也有用到,云是趋势,但到目前为止还没有
取代RDBMS,呵呵
作者: txoscarr    时间: 2012-11-13 14:41
解决问题不仅是技术水平,更是技术策略的合理运用
受教了
作者: hbsycw    时间: 2012-11-13 15:25
回复 23# chinafenghao

感谢你的评分认可,谢谢~

   
作者: zhaopingzi    时间: 2012-11-14 09:13
目前还没有网购过的飘过
作者: chinafenghao    时间: 2012-11-14 09:28
@zhaopingzi
哥们,你有点奇葩了。
作者: xike2002    时间: 2012-11-14 10:15
数据库的运行管理不光涉及到你选择的数据库类型,还包括很多因素,例如数据库所运行的硬件服务器平台的选择以及apache服务器等等,大家可以说说什么服务器和数据库的配置可以是性能达到最优呢?
作者: crazyhadoop    时间: 2012-11-14 11:39
这个数据果断在开始抢购的过程中被爆栈了,订单像洪水一样冲垮了支付宝。。
作者: chinafenghao    时间: 2012-11-14 11:44
@xike2002
还是要根据业务类型,不同的业务对数据库的硬件资源消耗不一样。
作者: xike2002    时间: 2012-11-14 11:57
回复 46# chinafenghao
例如四大门户网站sina、sohu、163、qq的服务器架构和数据库一般会采取什么样的选择呢?


   
作者: chinafenghao    时间: 2012-11-14 14:05
@xike2002
我说的业务是指,顺序读,顺序写,随机读,随机写,大量数据库排序,快速响应,OLAP之类的差别。
作者: yizuwei520    时间: 2012-11-14 16:46
:wink:适合新手吗?
作者: 枫影谁用了    时间: 2012-11-14 16:48
哈哈  一分钱没花!

作者: 枫影谁用了    时间: 2012-11-14 16:49
chinafenghao 发表于 2012-11-12 11:44
@beyondfly
说到支付宝,我还发现一个细节。


这个说得非常正确!
作者: chinafenghao    时间: 2012-11-15 10:03
@枫影谁用了
哈哈,你没花不代表你老婆没花呀。
作者: xike2002    时间: 2012-11-15 11:34
回复 48# chinafenghao
我明白你的意思了,谢谢楼主!

   
作者: lxw2016    时间: 2012-11-15 12:23
这么庞大的并发流量 ,我想知道他们的架构。用了多少台服务器进行读写?
作者: xiaopan3322    时间: 2012-11-15 18:45
天猫T3会员,说是支付宝充值抢红包有3倍概率,于是充了2000多,最终崩溃退出!真操蛋!
作者: send_linux    时间: 2012-11-20 10:11
xiaopan3322 发表于 2012-11-15 18:45
天猫T3会员,说是支付宝充值抢红包有3倍概率,于是充了2000多,最终崩溃退出!真操蛋!


级别真高,羡慕。。。买东西有啥好的优惠不?
作者: xiaopan3322    时间: 2012-11-20 16:04
send_linux 发表于 2012-11-20 10:11
级别真高,羡慕。。。买东西有啥好的优惠不?


有个ji8蛋啊……
作者: send_linux    时间: 2012-11-20 18:17
xiaopan3322 发表于 2012-11-20 16:04
有个ji8蛋啊……

bob太粗俗了!
作者: xiaopan3322    时间: 2012-11-20 21:17
send_linux 发表于 2012-11-20 18:17
bob太粗俗了!


我表示对天猫的愤慨和不满啊……
作者: 枫影谁用了    时间: 2012-11-21 15:20
chinafenghao 发表于 2012-11-15 10:03
@枫影谁用了
哈哈,你没花不代表你老婆没花呀。



作者: syzxlyx_cu    时间: 2012-11-22 16:12
双十一的流量是罕见的,前端app及后端数据库应该平时都有做充分准备,但这个系统的弹性需要平时很多的闲置机器做支撑吧。我想了解的是为了保持这个弹性平时多用了多少机器,在架构上做了哪些准备?这个话题很大……
作者: zriplj    时间: 2012-11-22 17:48
提示: 作者被禁止或删除 内容自动屏蔽
作者: plyj0123    时间: 2012-11-25 22:41
没想到淘宝也在用mysql

1、双11.11你购了什么,购的过程中发现了哪些技术瓶颈?

  貌似加入购物车然后转入付款界面的时候 经常卡
     
2、如果你是淘宝的数据库架构师,你会如何设计双11活动数据库故障的紧急处理预案?

  个人觉得直接操作数据库的话,肯定压力是很大的,加一下缓存,如redis和memcached   效果很好点吧  
作者: chenxing0407    时间: 2012-11-27 08:30
听说数据量很大,能顶的住 需要好多处理器吧。 不仅是数据库,业务层 前段也应该有很多优化,数据库除了mysql,应该还有其他的……




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2