一、分布式数据库
分布式数据库是为了解决当数据不断增长,提升单机服务器的成本将指数性的提升而造成的高昂成本的问题。分布式数据库通过添加低成本的服务器进行横向扩容来实现数据库性能和容量的提升。一般分布式数据库有三个部分组成,分别是管理节点、计算节点和数据节点。管理节点就是控制具体需要调用哪几个计算节点和数据节点,计算节点就是读取数据节点的数据并进行计算从而得出用户需要的结果,数据节点就是存储具体的数据。根据数据节点的配置方式,分布式数据库可以被分为shared nothing和shared anything两类。
1. shared nothing
shared nothing中的数据分布在多个数据节点中,每个数据节点之间不冗余任何数据,即数据节点间的两两间的交集为空。而数据总数就是所有数据节点的并集。这样的结构可以很方便的实现数据节点的水平扩容。mysql cluster就是典型的shared nothing结构的分布式数据库,其结构如下图所示。
从图中可以看出mysql cluster的数据节点有四个