加入收藏 | 设为首页 | 会员中心 | 我要投稿 网站开发网_安阳站长网 (https://www.0518zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

从分库分表后遗症,总结数据库表拆分策略

发布时间:2018-09-06 22:27:57 所属栏目:站长百科 来源:王清培(沪江)
导读:副标题#e# 技术沙龙 | 邀您于8月25日与国美/AWS/转转三位专家共同探讨小程序电商实战 本文将主要从背景、分库分表带来的后遗症、分表策略以及一些注意事项等方面对数据库分表来进行小结。 一、背景 最近一段时间内结束了数据库表拆分项目,本次拆分主要包括

我们假设上面是一个订单列表,orderID订单号大家就不要在意顺序性了。因为Sharding之后所有的orderID都会由发号器统一发放,多个集群多个消费者同时获取,但是创建订单的速度是不一样的,所以顺序性已经不存在了。

上面的两个Sharding node基本上订单号是交叉的,如果按照时间排序node 1和node 2是要交替获取数据。

比如我们的查询条件和分页参数:

  1. where createDateTime>'2018-01-11 00:00:00'  
  2. pageParameter:pageSize:5、currentPage:1 

获取的结果集为:

  1. orderID     createDateTime  
  2. 100000      2018-01-10 10:10:10  
  3. 200000      2018-01-10 10:10:11  
  4. 300000      2018-01-10 10:10:12  
  5. 400000      2018-01-10 10:10:13  
  6. 110000      2018-01-11 10:10:10 

前面4条记录来自node 1后面1条数据来自node 2 ,整个排序集合为:

  1. Sharding node 1:orderID     createDateTime  
  2. 100000      2018-01-10 10:10:10  
  3. 200000      2018-01-10 10:10:11  
  4. 300000      2018-01-10 10:10:12  
  5. 400000      2018-01-10 10:10:13  
  6. 500000      2018-01-20 10:10:10  
  7.  
  8. Sharding node 2:orderID     createDateTime  
  9. 110000      2018-01-11 10:10:10  
  10. 220000      2018-01-11 10:10:11  
  11. 320000      2018-01-11 10:10:12  
  12. 420000      2018-01-11 10:10:13  
  13. 520000      2018-01-21 10:10:10 

(编辑:网站开发网_安阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!