一、大规模互联网系统数据的存储处理
解释:主库集群并不能解决并发写入的压力
因为是集群,所以必须确保集群上各个节点上存储的数据是相同的。 在其中一个节点上插入数据时,最终这些数据将同步到群集的每个节点上。 也就是说,每个节点上也进行一次写入,因此不会起到缓解作用。
负面影响:1.数据库一致性;2 .主键唯一性问题
分区表和分区表:
优先选择的是分区表,它评估以下数据量是否超出了单个库的处理能力: 否则,可以通过使用分区表的方式进行操作。 因为使用分区表,将把处理数据的难度交给数据库本身。
分区表只能在一个库中对一个表进行分区。 在中,如果并发压力超过了一个库的处理能力,则必须考虑使用分区策略
分表是指一个数据库中某个表的数据量特别大,将其分解为多个表,放置在多个库中,分散压力。
分表规则:
1 .范围划分:如果适合数值型/时间型,则可以使用范围划分
2 .列表分区:例如,如果类型为字符串且枚举数有限,则可以像城市一样使用列表分区
3 .散列分区:如果特征不为1.2,则考虑使用散列分区来为这个值确定散列值,并通过使用散列值来确定馀数,或者进行其它操作等来选择适当的表
4 .复合分区:是对1、2、3的综合使用
数据库中间件:阻止后续数据存储更改对上层代码的影响
总结:
[注] :分布式数据库:由Mysql数据库构成的按库、按表、读写分离的集群
二、方案选择
1 .数据库中间件的两种实现模式:
客户端模式:占用内存,不适合存储大量数据,但适合并发场景
2 .常用数据库中间件
三、分布式数据库的原理、技术难点
1 .数据库拆分:
四.高级技能