什么是分布式数据库?
今天我们也来简单聊聊分布式数据库。那什么是分布式数据库?我们先来看看分布式系统的定义:
分布式系统是一个其硬件或软件组件分布在连网的计算机上,组件之间通过传递消息进行通信和动作协调的系统。【引自《分布式系统:概念与设计》第五版】
从这个定义可以看出分布式系统并不是神秘的存在,你每天都在参与其中而不自知。比如说Web搜索,你(通常是浏览器)和搜索引擎(比如Baidu)之间就构成了一个分布式系统。互联网是目前人类所构建的最大的、也是最复杂的分布式系统。
所以简单总结来说构成分布式需要两个条件:
- 通过网络进行连接(当然不一定是TCP/IP网络,任何其它网络都可以)
- 消息传递
所以根据这个定义引申出来的分布式数据库的定义就是:
一群分布在计算机网络上,逻辑上相互关联的数据库【引自《分布式数据库原理》第三版】
这个定义里隐含的一层意思是这些相互关联的数据库是自治的单元,只是逻辑上有联系。就像在一个公司里,你和你的同事都是独立的人,但大家在一起共同完成同一件事。
大家可以按照该定义,看看哪些是分布式数据库?