锁定老帖子 主题:淘宝下单高并发解决方案
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2012-05-02
这个分库方案不单单只有一个订单表吧,应该涉及用户所有相关的信息都要分库,否则相关的多表操作如果包含事务的话处理起来也麻烦的吧!
|
|
返回顶楼 | |
发表时间:2012-05-02
kiefer 写道 这个分库方案不单单只有一个订单表吧,应该涉及用户所有相关的信息都要分库,否则相关的多表操作如果包含事务的话处理起来也麻烦的吧!
我的理解:不可能包含用户信息的,用户信息不可能和订单在一个库中。 |
|
返回顶楼 | |
发表时间:2012-05-02
yukaizhao 写道 kiefer 写道 这个分库方案不单单只有一个订单表吧,应该涉及用户所有相关的信息都要分库,否则相关的多表操作如果包含事务的话处理起来也麻烦的吧!
我的理解:不可能包含用户信息的,用户信息不可能和订单在一个库中。 那至少有其他比较紧密的几个表,后期有可能需要操作的。 另外,关注了下淘宝的订单查询,好像多了个订单回收的功能。 |
|
返回顶楼 | |
发表时间:2012-05-03
这种技术方案叫数据分块,在《高性能MySQL》第二版本中有详细描述,这本书中对数据的分块作了详细的阐述,淘宝能把这个技术方案发挥到如此的水平,也是很值得敬佩的,前段时间一直加班,可惜没有参加这个party。
|
|
返回顶楼 | |
发表时间:2012-05-03
kiefer 写道 yukaizhao 写道 kiefer 写道 这个分库方案不单单只有一个订单表吧,应该涉及用户所有相关的信息都要分库,否则相关的多表操作如果包含事务的话处理起来也麻烦的吧!
我的理解:不可能包含用户信息的,用户信息不可能和订单在一个库中。 那至少有其他比较紧密的几个表,后期有可能需要操作的。 另外,关注了下淘宝的订单查询,好像多了个订单回收的功能。 其他比较紧密相关的表指的是什么呢?这个我不清楚有没有。 但可以肯定的是用户表肯定没在里面。商品明细表应该也没在里面 |
|
返回顶楼 | |
发表时间:2012-05-04
在设计开发的第一阶段不要考虑、分表、分库、水平垂直分割数据、因为你的业务没有这种规模、这种设计对开发人员要求太高、成本也很高。
有问题先升级硬件、相对软件和设计比较便宜。 等业务有了规模再考虑,如果你的公司还活着 ,这个世界只有一个淘宝。大多数公司一般都到不了这种程度。不要做超前的设计和实现。这样BUG 会多如牛毛。 |
|
返回顶楼 | |
发表时间:2012-05-04
fiftysix81 写道 在设计开发的第一阶段不要考虑、分表、分库、水平垂直分割数据、因为你的业务没有这种规模、这种设计对开发人员要求太高、成本也很高。
有问题先升级硬件、相对软件和设计比较便宜。 等业务有了规模再考虑,如果你的公司还活着 ,这个世界只有一个淘宝。大多数公司一般都到不了这种程度。不要做超前的设计和实现。这样BUG 会多如牛毛。 赞同,解决方案作为参考,与大家共享和讨论可以。但是不要搞成过度设计,必须要考虑自己系统的用户规模和业务特点。 |
|
返回顶楼 | |
发表时间:2012-05-04
fiftysix81 写道 在设计开发的第一阶段不要考虑、分表、分库、水平垂直分割数据、因为你的业务没有这种规模、这种设计对开发人员要求太高、成本也很高。
有问题先升级硬件、相对软件和设计比较便宜。 等业务有了规模再考虑,如果你的公司还活着 ,这个世界只有一个淘宝。大多数公司一般都到不了这种程度。不要做超前的设计和实现。这样BUG 会多如牛毛。 赞同你的观点,还是要根据业务来做方案,可以随着业务水平的增长改变方案。淘宝也是一步一步做起来的,他刚开始的时候没有这么多的分割,是用的oracle |
|
返回顶楼 | |
发表时间:2012-05-05
不错,很受用
|
|
返回顶楼 | |
发表时间:2012-05-07
非常不错的方案,有点小问题请教一下
1. 怎么解决单点问题,比如16台mysql服务器中有一台挂掉了, 怎么处理呢? 2. 如果需要做统计,比如最近的N条记录或者交易额最大的记录?把每个表中去记录拼接? |
|
返回顶楼 | |