一、数据库集群满足的条件:
1、一个主数据库连接了1个以上的从数据库,主从数据库服务器串联;
2、主从数据库上的数据内容一致,可以认为从库属于主库的备份;
3、主库不承担读取操作,从库可对读取需求进行分摊
例如:一个数据库集群中有1个主库4个从库,1分钟内有10条写入请求,200条读取请求。那么因为这5个库的数据内容需要一致,则5个库都要响应这10条写入请求,4个从库可以分摊分别响应50条读取请求(200/4)。
二、数据库集群和分布式数据库的区别:
1、集群是指不同的机器可以同时响应来自不同人对于同一个业务的请求(就像一个小作坊每天都有几个在每天生产同一种零件,一个人请假了,另一个人可以马上顶替帮忙)几台机器完成同一个业务;分布式指一个请求中拆分成数个业务,不同的机器各自完成自己的负责的那个业务(就像组装流水线上的工人,每个人完成一种零件的组装,一个人请假了,其他零件组装的工人接替不了他)。
2、分布式以缩短单个任务的执行时间来提升效率,集群则通过提高单位时间内执行的任务数来提升效率。
例如:如果1个任务由5个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行该任务需5小时。
假如有1个任务到达:采用分布式,提供5台服务器,每台服务器完成其中一个子任务,1个小时就能完成;采用集群,提供5台服务器,会先判断那台服务器比较空闲,交由这台服务器去执行需要5小时。
假如有5任务同时到达:采用分布式,提供5台服务器,每台服务器完成其中一个子任务,5个小时就能完成;采用集群,提供5台服务器,5个任务同时到达,5台服务器同时工作,也是5个小时能完成。