配合视频效果更佳:www.itlaoqi.com/chapter.htm…
内容介绍
- 大表为什么不能用自增主键?
- UUID是好的替代方案吗?
- SnowFlake雪花算法是什么?
表样
常规范围分片会按自然属性范围分片
优点:
- 容易理解,容易扩展
缺点:
- 必须提前做好分片规划,会造成资源浪费
- 自增主键必须连续
- 只能采用”范围分片”
- 形式会产生“尾部热点”效应
范围分片与Hash分片性能差距明显
使用UUID可以替代自增主键吗?不可以!
UUID是无序的,使用UUID是无序的作为主键会涉及大量索引重排(页分裂)现象
-
0b7a900d-7e0c-4d14-b081-a20bdf1f1264
-
d09bc3ab-9670-4355-9614-ab2bc5ca6fd9
-
251ae4de-e3af-43cf-8287-77a944d2703f
-
ad397986-4bd9-4986-9f38-eb81042c7492
InnoDB引擎基于B+树结构有序紧密存储,中间插入数据必然会造成”页分裂“现象产生
有没有一种分布式且有序的主键生成算法呢?
雪花算法(Snowflake)是 Twitter 公司分布式项目采用的 ID 生成算法。
注意:实现雪花算法时要注意时间回拨带来的影响,可能会引起主键冲突。