openGauss
开源数据库
openGauss社区官网
开源社区
关系型数据库架构分类
2022-09-07数据库入门
关系型数据库架构分类
集中式:多台机器联合管理数据,一般不对数据进行分片。
分布式:将数据从物理上分割,并分配给多台服务器或多个实例,每台服务器可以独立工作。
部署形态
当前数据库部署形态有俩种,分别是本地部署和云原生数据库。
本地部署:在本地的硬件、网络和其他基础设施上,安装的软件服务。它在真正被使用前,需要大量软硬件开发成本,并且产生很多费用;后期使用时也需专门人员升级维护,并且需要大量维护成本。
云原生(cloud native):云计算技术的持续创新和成熟商用,也为分布式数据库云化部署提供了便利和可能。云原生数据库以虚拟化、分布式化和运维自动化为基本原则的云计算技术,采用通用硬件平台,提供资源快速发放、快速回收复用的弹性能力。基础架构具备“跨 AZ、跨域”分布式高可用和容灾能力。分布式数据库在架构层面天然具有与云平台的高度亲和力,基于底层虚拟化技术,可以实现分布式数据库弹性伸缩,副本冗余高可用,以及跨 AZ、跨“地域”的容灾能力。借助云平台成熟统一的自动化运维工具,可以大幅降低数据库运维管理成本,利用云平台运维监控数据实现机器学习精准训练,未来将实现基于机器学习的分布式数据库自调优、自诊断、自运维的能力。
架构分类
架构主要分为三类,分别是单机、集群、分布式
单机:一般都是 shared everything 架构,即共享所有计算资源(CPU,RAM, Disk)和数据。
集群:分为一主多备、一写多读、多写多读。
- 一主多备:单台主机模式部署,其他备机为主机备份数据且不可读,并且可以在主机宕机的情况下,代替主机提供服务。
- 一写多读:多个计算节点一写多读服务,其中一个节点提供写服务,其他多个节点提供读服务。写节点宕机时,读节点可以代替写节点来提供服务。
- 多写多读:多个计算节点共享存储,每个节点都提供读写服务。为了解决写冲突一般采用分布式锁或者集中式锁的方式来实现。
分布式:包括分布式中间件和分布式数据库
- 分布式中间件:基于单机数据库、分库分表中间件划分数据,实现数据的划分、查询下发、结果收集,进而实现数据库的可扩展性。适合数据能够完美分片到各个节点,节点间没有数据交互的场景。
- 分布式数据库:对数据进行分片(sharding),通过全局事务处理模块和分布式查询处理模块支持原生支持分布式事务和全局复杂查询。