数据库如何实施垂直拆分,原理是啥?
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
水平切分是指,以某个字段为依据(例如uid),按照一定规则(例如取模),将一个库(表)上的数据拆分到多个库(表)上,以降低单库(表)大小,达到提升性能的目的的数据库架构设计方法。 水平切分后,各个库(表)的特点是: 1. 每个库(表)的结构都一样; 2. 每个库(表)的数据都不一样,没有交集; 3. 所有库(表)的并集是全量数据; 垂直拆分是指,将一个属性较多,一行数据较大的表,将不同的属性拆分到不同的表中,以降低单库(表)大小,达到提升性能的数据库架构设计方法。 垂直切分后,各个库(表)的特点是: 1. 每个库(表)的结构都不一样; 2. 一般来说,每个库(表)的属性至少有一列交集,一般是主键; 3. 所有库(表)的并集是全量数据; 举个例子,用户表:
垂直拆分之后,可能变成两个这样的表:
3. 在内存有限,缓冲池大小固定的情况下,长度较短的row,能缓存更多数据; 4. 缓存高频的列column,能提升缓冲池命中率,减少磁盘IO; 举个例子: 1. 假设数据库内存buffer为1G,未拆分的user表1行数据大小为1k,那么只能缓存100w行数据; 知其然,知其所以然。 思路比结论更重要。 文章很短,3分钟搞定。 ==全文完== 阅读原文:原文链接 该文章在 2025/1/2 12:21:41 编辑过 |
关键字查询
相关文章
正在查询... |