数据库的分库分表相关知识,
1,表的垂直拆分是指将一张表拆分成多个表,表之间通过主键进行关联,主要是解决冗余问题。
2,表的水平拆分是按照某种规则拆分成多个表,例如评论太多需要分表存放,那评论的表名,通过论坛的帖子的ID数值与计划最大的分表个数进行求模得到评论表的序列;
3,读写分离:所谓读写分离就是讲读操作(查询数据)和写操作(插入&更新)指向不同的数据库节点,他们中间通过某种机制实现数据的同步,如binlog。实际的应用中大部分压力还是来自读操作,所以主要是一主多从的架构。
4,数据库的范式相关知识,
温故而知新,巩固原始的重要知识,在数据库设计中,更好地应用三个范式,对于数据库设计大有好处,列举如下:
第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解;
第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;
第三范式:3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余;
没有冗余的数据库设计可以做到,但是没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,可以适当保留冗余数据。
具体做法是:
在概念数据模型设计时遵守第三范式,降低范式标准的工作放到物理数据模型设计时考虑。适当降低范式就是增加字段,允许适当冗余进而给业务操作带来更简单的操作和更快的处理。
个人简单总结,可能有错漏,欢迎拍砖讨论留言...