零门槛入门数据库学习之关系型数据库架构介绍

举报
开发者学堂小助 发表于 2020/12/29 14:55:56 2020/12/29
【摘要】 本文带你了解关系型数据库的架构全貌,并掌握其优缺点。

早期在数据量还不是很大的时候,数据库就采用一种很简单的单机服务,在一台专用的服务器上安装数据库软件,对外提供数据存取服务。但随着业务规模增大,数据库存储的数据量和承载的业务压力也不断增加。数据库的架构也必须随之变化。

数据库1.png

如上的架构分类方法,是一种按照主机数量来区分的分类方式,分别是单机架构和多机架构。单机架构分为单主机和独立主机,多机架构分为分组和分片。

为了避免应用服务和数据库服务对资源的竞争,单机架构也从早期的单主机模式发展到数据库独立主机模式,把应用和数据服务分开,应用服务可以增加服务器数量,进行负载均衡,来增大系统并发能力。单机部署形式,在研发、学习以及模拟环境中具有灵活、部署方便等特点。单机架构有几个显著的不足:

数据库2.png

1、可扩展性。数据库单机架构扩展性只有纵向扩展。

2、存在单点故障。单机架构扩容的时候,往往需要停机扩容,服务也随之停止。另外,硬件故障容易导致整个服务不可用,甚至会有数据丢失的情况。

3、随着业务量的增加,单机势必会遇到性能瓶颈。

接下来我们来看一下分组架构里面的主备架构,实际上也是单机架构自然而然衍生出来的架构,主要是为了解决单点故障问题。

数据库3.png

数据库部署在两台服务器,其中承担数据读写服务的服务器,称为“主机”。另外一台服务器利用数据同步机制,把主机的数据复制过来,称为“备机”,同一时刻,只有一台服务器对外提供数据服务。这种架构的优点是应用不需要为了应对数据库故障而增加开发量。另外相对单机架构而言,提升了数据容错性。这种架构的缺点是:

1、资源浪费,备机和主机同等配置,而基本上备机资源会处于闲置状态。

2、性能压力还是集中在单机上,无法解决性能瓶颈问题。

3、出现故障时,主备机切换,需要一定的员工干预或者监控。

主备架构无法根本解决问题,那来看看主从式架构。

 数据库4.png


部署模式和主备机模式相似,但备机上升为从机角色,也对外提供一定的数据服务。应用程序可以通过读写分离方式分散压力,优点明显,资源利用率提升,从机扩展性灵活等,但缺点也同样存在:

1、 数据延迟问题,数据同步到从机数据库时会有延迟

2、 写操作的性能压力,还是集中在主机上

3、 可用性问题,主机出现故障,需要实现主从切换,人工干预需要响应时间,自动切换的实现复杂度较高

接下来我们看另外一种特殊的多主架构,数据库之间互为主从,同时对外提供完整的数据服务。优点在于提升资源利用率的同时降低了单点故障的风险。

数据库5.png

缺点也同时存在:

1、 双向复制同样存在延时问题,极端情况下有可能数据丢失

2、 数据库数量增加会导致数据同步极为复杂

接着再看看分片架构,其主要表现形式就是水平数据分片架构,优点是数据分散在集群内的各个节点上,所有节点可以独立性工作。

数据库6.png

总结起来:

数据库7.png


介绍了这么多种模式,数据库架构仍在衍生,细化来讲还有共享存储多活架构、分片架构、无共享架构、MPP架构等等,大家想要了解更多,欢迎点击《数据库介绍》进行学习,全面掌握关系型数据库架构!

【版权声明】本文为华为云社区用户翻译文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容, 举报邮箱:cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。