mysql扩张字段设计_mysql可扩张(读书笔记)_mysql

(4)如何选择分区键 ?

首先要明白分区键的功能和影响,然后思考下随便选个分区键会产生什么问题?实际中应该根据业务需求来选择适用的分区键,避免跨分片查询,方便存取且尽量不降低存取性能。

查询维度是多样的,有时可能需要多个分区键,比如在做一个评论应用中,有需要根据用户ID来查询用户所有的评论,也需要根据文章ID查询所有的评论,我们按用户ID或文章ID分片都不是好方法,因为总有一种要跨分片查询,我们的做法是存两份,分别以用户ID和文章ID进行分表,以满足上述两种查询场景。

有些数据遍布在个分片,又需要频繁跨片查询,可以分析是否有其他等同策略。还是上面提到的评论应用,能够将一些信息抽象为整体数据,比如数量统计,可以抽取出单张公共表。

这部分的重点是“选择分区键的方法”、“多分区键”、“跨分片查询问题”、“跨分片数据一致性”。

(5)全局唯一ID的生成

全局唯一ID推荐几个优秀的资源,

1. 美团的分布式ID生成系统     https://tech.meituan.com/MT_Leaf.html

2. 阅文集团分布式ID (类snowflake方法)              https://mp.weixin.qq.com/s?__biz=MzIxMzgxMjQ1Mw==&mid=2247483661&idx=1&sn=4e459c618a2169f994f62f28f2159eba&chksm=97b05487a0c7dd91e45cd2c9d0dcc837586ee2652abc9efb3252e69b1bd2d6b2bb450c8c2e58&mpshare=1&scene=2&srcid=0525IV9AydzO0CEN4CXkEFuk&key=cf192bba2f919fcb70ed66331b7f4f5d4c61927abd688c4674e6088b2743fb2e495a694189f8dab322e8030e8a9143b9932ed7851e58024d51807a665ab48b9c0bd8f176efa0b7383fe7e857d55eddb6&ascene=0&uin=MjM3ODQzNjgwMA%3D%3D&devicetype=iMac+Macmini7%2C1+OSX+OSX+10.11.5+build(15F34)&version=12020810&nettype=WIFI&fontScale=100&pass_ticket=iZnDMUQlGa2cTsRI6ffMQ%2B585Qs0ZJK0s9FedcMFAmailXPsFNG2IPQ3oF3mBt5o

3. 贝聊亿级数据库分库分表实践 https://zhuanlan.zhihu.com/p/27363448

4. 唯品会订单分库分表实践  http://www.infoq.com/cn/articles/summary-and-key-steps-of-vip-orders-depots-table

5. 大众点评订单分库分表实践  https://tech.meituan.com/dianping_order_db_sharding.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值