高可用集群与分布式数据库的区别

最近在研究分布式数据库,发现有些功能高可用架构的集群也可以实现,混淆了两者概念,今天小小总结一下

分布式数据库百度百科的概念为:分布式数据库系统通常使用较小的计算机系统,每台计算机可单独放在一个地方,每台计算机中都可能有DBMS的一份完整拷贝副本,或者部分拷贝副本,并具有自己局部的数据库,位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的逻辑上集中、物理上分布的大型数据库。

数据库集群,顾名思义,就是利用至少两台或者多台数据库服务器,构成一个虚拟单一数据库逻辑映像,像单数据库系统那样,向客户端提供透明的数据服务。

简单来说,分布式是指将不同的业务分布在不同的地方。 而集群指的是将几台服务器集中在一起,实现同一业务。 
分布式中的每一个节点,都可以做集群。 而集群并不一定就是分布式的。 

集群一个节点垮了,其他节点可以顶上来使用,而分布式每个节点都是不同的业务,一旦垮掉,则对应的业务也无法访问。
 

看到一个小例子:

如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行改任务需10小时。

采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。(这种工作模式的一个典型代表就是Hadoop的Map/Reduce分布式计算模型)

而采用集群方案,同样提供10台服务器,每台服务器都能独立处理这个任务。假设有10个任务同时到达,10个服务器将同时工作,10小后,10个任务同时完成,这样,整身来看,还是1小时内完成一个任务!

你可能感兴趣的:(数据库架构)