作者:灿烂的胖羊羊 | 来源:互联网 | 2023-06-19 22:33
说白了,就是一个数据库,对于数据库查询、写入操作,不堪重负了。要把我的负担减轻,即多一个数据库帮我来处理这些请求。Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数
说白了,就是一个数据库,对于数据库查询、写入操作,不堪重负了。要把我的负担减轻,即多一个数据库帮我来处理这些请求。
Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。
不太严格的讲,对于海量数据的数据库,如果是因为表多而数据多,这时候适合使用垂直切分,即把关系紧密(比如同一模块)的表切分出来放在一个server上。如果表并不多,但每张表的数据非常多,这时候适合水平切分,即把表的数据按某种规则(比如按ID散列)切分到多个数据库(server)上。当然,现实中更多是这两种情况混杂在一起,这时候需要根据实际情况做出选择,也可能会综合使用垂直与水平切分,从而将原有数据库切分成类似矩阵一样可以无限扩充的数据库(server)阵列。下面分别详细地介绍一下垂直切分和水平切分.