传统数据库以集中式架构为主,集中式架构由一台或多台主计算机组成中心节点,数据存储以及整个系统的业务单元都集中部署于该中心节点中,系统所有的功能均由中心节点集中处理。
每个终端或客户端仅仅负责数据的录入和输出,而数据的存储与控制处理完全交由主机完成。分布式架构下,软件组件分布在不同主机上,主机之间通过网络连接进行通信和协调。
随着海量及异构数据的数据分析需求增长,需要的计算、存储和 IO 等资源也在极速增加。集中式架构通过改善硬件配置来提升存储和处理能力,但单台主机可配置的资源存在上限,因此传统的集中式架构软件难以满足海量及异构数据的数据集的处理和分析需求。
而为了处理 TB 以及 PB 级别以上的数据规模,分布式的架构将数据分散在网络上多个通过高速网络互联的节点上联合计算。因为数据分布在不同节点,在进行计算任务时,任务也会被切分成多个子任务,分发到多个节点上同时进行计算,能充分利用整个集群各个节点的计算资源、存储资源和 IO 资源,可线性提升集群的存储和处理能力。因此,分布式架构能较好的处理该类问题,这也是分布式架构相对于传统单机架构的核心优势。
在大数据场景下,分布式系统在扩展性、容错性、经济性、灵活性、可用性和可维护性方面具有明显优势,能够较好的满足大数据分析的需求。此外,近年来,分布式技术不断发展,在提供高弹性、支持高并发的同时,支持关系型数据库中强事务性的特性,成为大数据技术的重要发展方向。