论坛首页 综合技术论坛

淘宝下单高并发解决方案

浏览 91365 次
该帖已经被评为精华帖
作者 正文
   发表时间:2012-05-02  
这个分库方案不单单只有一个订单表吧,应该涉及用户所有相关的信息都要分库,否则相关的多表操作如果包含事务的话处理起来也麻烦的吧!
0 请登录后投票
   发表时间:2012-05-02  
kiefer 写道
这个分库方案不单单只有一个订单表吧,应该涉及用户所有相关的信息都要分库,否则相关的多表操作如果包含事务的话处理起来也麻烦的吧!


我的理解:不可能包含用户信息的,用户信息不可能和订单在一个库中。

0 请登录后投票
   发表时间:2012-05-02  
yukaizhao 写道
kiefer 写道
这个分库方案不单单只有一个订单表吧,应该涉及用户所有相关的信息都要分库,否则相关的多表操作如果包含事务的话处理起来也麻烦的吧!


我的理解:不可能包含用户信息的,用户信息不可能和订单在一个库中。



那至少有其他比较紧密的几个表,后期有可能需要操作的。

另外,关注了下淘宝的订单查询,好像多了个订单回收的功能。
0 请登录后投票
   发表时间:2012-05-03  
这种技术方案叫数据分块,在《高性能MySQL》第二版本中有详细描述,这本书中对数据的分块作了详细的阐述,淘宝能把这个技术方案发挥到如此的水平,也是很值得敬佩的,前段时间一直加班,可惜没有参加这个party。
0 请登录后投票
   发表时间:2012-05-03  
kiefer 写道
yukaizhao 写道
kiefer 写道
这个分库方案不单单只有一个订单表吧,应该涉及用户所有相关的信息都要分库,否则相关的多表操作如果包含事务的话处理起来也麻烦的吧!


我的理解:不可能包含用户信息的,用户信息不可能和订单在一个库中。



那至少有其他比较紧密的几个表,后期有可能需要操作的。

另外,关注了下淘宝的订单查询,好像多了个订单回收的功能。


其他比较紧密相关的表指的是什么呢?这个我不清楚有没有。

但可以肯定的是用户表肯定没在里面。商品明细表应该也没在里面

0 请登录后投票
   发表时间:2012-05-04  
在设计开发的第一阶段不要考虑、分表、分库、水平垂直分割数据、因为你的业务没有这种规模、这种设计对开发人员要求太高、成本也很高。


有问题先升级硬件、相对软件和设计比较便宜。

等业务有了规模再考虑,如果你的公司还活着      ,这个世界只有一个淘宝。大多数公司一般都到不了这种程度。不要做超前的设计和实现。这样BUG  会多如牛毛。
4 请登录后投票
   发表时间:2012-05-04  
fiftysix81 写道
在设计开发的第一阶段不要考虑、分表、分库、水平垂直分割数据、因为你的业务没有这种规模、这种设计对开发人员要求太高、成本也很高。


有问题先升级硬件、相对软件和设计比较便宜。

等业务有了规模再考虑,如果你的公司还活着      ,这个世界只有一个淘宝。大多数公司一般都到不了这种程度。不要做超前的设计和实现。这样BUG  会多如牛毛。


赞同,解决方案作为参考,与大家共享和讨论可以。但是不要搞成过度设计,必须要考虑自己系统的用户规模和业务特点。
0 请登录后投票
   发表时间:2012-05-04  
fiftysix81 写道
在设计开发的第一阶段不要考虑、分表、分库、水平垂直分割数据、因为你的业务没有这种规模、这种设计对开发人员要求太高、成本也很高。


有问题先升级硬件、相对软件和设计比较便宜。

等业务有了规模再考虑,如果你的公司还活着      ,这个世界只有一个淘宝。大多数公司一般都到不了这种程度。不要做超前的设计和实现。这样BUG  会多如牛毛。



赞同你的观点,还是要根据业务来做方案,可以随着业务水平的增长改变方案。淘宝也是一步一步做起来的,他刚开始的时候没有这么多的分割,是用的oracle
0 请登录后投票
   发表时间:2012-05-05  
不错,很受用
0 请登录后投票
   发表时间:2012-05-07  
非常不错的方案,有点小问题请教一下
1. 怎么解决单点问题,比如16台mysql服务器中有一台挂掉了, 怎么处理呢?
2. 如果需要做统计,比如最近的N条记录或者交易额最大的记录?把每个表中去记录拼接?
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics