数据库 Sharding 的基本思想和切分策略
摘要
Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。不太严格的讲,对于海量数据的数据库,如果是因为表多而数据多,这时候适合使用垂直切分,即把关系紧密(比如同一模块)的表切分出来放在一个server上。如果表并不多,但每张表的数据非常多,这时候适合水平切分,即把表的数据按某种规则(比如按ID散列)切分到多个数据库(server)上。当然,现实中更多是这两种情况混杂在一起,这时候需要根据实际情况做出选择,也可能会综合使用垂直与水平切分,从而将原有数据库切分成类似矩阵一样可以无限扩充的数据库(server)阵列。下面分别详细地介绍一下垂直切分和水平切分。
欢迎在评论区写下你对这篇文章的看法。
评论
据说喜欢分享的,后来都成了大神
提交句子
因为看见,所以在乎,生物都是趋利的,人也不例外
可要知道,更多的是看不见,比如心境,看不见的无法衡量,甚至很难被注意到,但其价值确是不可否认的,只有那些一心追求自身成长的人,才会将影响心境的因素放在考量范畴,好的心境价值无量,是名利不可替代的,却更容易换取名利
文库
- 1 无用代码扫描组件设计
- 2 淘系两年半A/B实验经历,聊聊我理解的“科学实验”
- 3 探究前端包管理工具:npm、yarn 和pnpm
- 4 The Sound of Software
- 5 Product Design Is Lost
- 6 Hardest Problem in Computer Science: Centering Things
- 7 为什么普通人「出圈」,都在小红书?
- 8 机器人说话的艺术
- 9 这些年背过的面试题——实战算法篇
- 10 12306会惩罚每一个使用加速包抢票的人
- 11 古镇太多,大鱿鱼不够卖了
- 12 又臭又腥的石楠花,为什么满大街都种
- 13 From Predictive to Generative – How Michelangelo Accelerates Uber’s AI Journey
- 14 Scaling PayPal’s AI Capabilities with PayPal Cosmos.AI Platform
- 15 No version left behind: Our epic journey of GitLab upgrades