数据库的范式和分库分表相关知识

本文探讨了数据库优化策略,包括分库分表、读写分离、范式应用等关键概念。详细介绍了表的垂直拆分与水平拆分技巧,以及如何在数据库设计中平衡冗余与效率,遵循三个范式原则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库的分库分表相关知识,

1,表的垂直拆分是指将一张表拆分成多个表,表之间通过主键进行关联,主要是解决冗余问题。

2,表的水平拆分是按照某种规则拆分成多个表,例如评论太多需要分表存放,那评论的表名,通过论坛的帖子的ID数值与计划最大的分表个数进行求模得到评论表的序列;

3,读写分离:所谓读写分离就是讲读操作(查询数据)和写操作(插入&更新)指向不同的数据库节点,他们中间通过某种机制实现数据的同步,如binlog。实际的应用中大部分压力还是来自读操作,所以主要是一主多从的架构。

4,数据库的范式相关知识,

温故而知新,巩固原始的重要知识,在数据库设计中,更好地应用三个范式,对于数据库设计大有好处,列举如下:

第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解;

第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;

第三范式:3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余;

没有冗余的数据库设计可以做到,但是没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,可以适当保留冗余数据。

具体做法是:
在概念数据模型设计时遵守第三范式,降低范式标准的工作放到物理数据模型设计时考虑。适当降低范式就是增加字段,允许适当冗余进而给业务操作带来更简单的操作和更快的处理。

个人简单总结,可能有错漏,欢迎拍砖讨论留言...

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值