常见的几种切分方法
简单的来说就是,当一个表里面的数据太多的时候进行CRUD(增删改查)的效率都会降低,在关系型数据库里我们常常通过以下几种方法来通过破坏一定的业务逻辑来换取性能
- 水平切分
- 垂直切分
- 读写分离
1_水平切分
水平切分就是就通过切割行,将一张表分割成多张表来提升性
解释
1张表里面有十万条数据,我们通过水平切割,将其分割成10张表,每张表存放原来的1万条数据,这样进行CRUD时的效率就会有所提升,但是因为原本是一张表的数据却被我们切割成了10张表,造成了一定的逻辑破坏
2_垂直切分
垂直切分就是就通过切割列,同样是将一张表分割成多张表来提升性
解释
1张表里面有100列,将其分割成10张表,每张表存放原来的10列,这样进行CRUD时的效率就会有所提升
3_读写分离
将原本一台的数据库服务器拆分成两台,一台用于读的功能,一台只用于写的功能,因为读是一个项目中使用最多的,通过这样来减轻数据库服务器的压力,从而提升性能,但是因为原本数据库服务器的读写功能原本是一体的,现在被我们拆开后就造成了的逻辑破坏
注意
读写分离分开的数据库中,读的数据库只具有读的功能,但是写的服务器既能读又能写
简单的来说就是在一个项目中,我们对数据库的主要操作是读取数据,我们通过读写分离将读的那一部分功能复制一份到另一个数据库上,读取的时候只需要访问读的数据库就可以,而写的数据库除了写外还有读的功能,毕竟不能读怎么写呢?而且写的数据库修改数据时也要对读的数据库进行修改
总结
这些方式打破了传统关系型数据库以业务逻辑为依据的存储模式,而针对不同数据结构类型改为性能为最优先的存储方式,总之一句话:这种方式破坏一定的业务逻辑来换取性能