分布式数据库是将不同的表存放到不同的数据库中然后再放到不同的服务器。这样在处理请求时,如果需要调用多个表,则可以让多台服务器同时处理,从而提高处理速度。
数据库集群(读写分离)的作用是将多个请求分配到不同的服务器处理,从而减轻单台服务器的压力,而分布式数据库是解决单个请求本身就非常复杂的问题,它可以将单个请求分配到多个服务器处理,使用分布式后的每个节点还可以同时使用读写分离,从而组成多个节点群,结构图如图1-6所示。
实际使用中分布式数据库有很多复杂的问题需要解决,如事务处理、多表查询等。分布式的另外一种使用的思路是将不同业务的数据表保存到不同的节点,让不同的业务调用不同的数据库,这种用法其实是和集群一样起分流的作用,不过这种情况就不需要同步数据了。使用后面这种思路时架构还是和上面图中的一样,所以技术和架构只是一个工具,真正重要的是思路,也就是工具的使用方法。