在这里插入图片描述
🔎这里是【软考——系统架构师】,关注我考试轻松过线 👍如果对你有帮助,给博主一个免费的点赞以示鼓励
欢迎各位🔎点赞👍评论收藏⭐️

关系型数据库的缺点

  • 不满足高并发读写需求 : 网站的用户并发性非常高,往往达到每秒上万次读写请求,对于传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。
  • 不满足海量数据的高效率读写: 网站每天产生的数据量是巨大的,对于关系型数据库来说,在一张包含海量数据的表中查询,效率是非常低的。
  • 不满足高扩展性和可用性: 在基于web的结构当中,数据库是最难进行横向扩展的,当一个应用系统的用户量和访问量与日俱增的时候,数据库却没有办法像web server和app server那样简单的通过添加更多的硬件和服务节点来扩展性能和负载能力。对于很多需要提供24小时不间断服务的网站来说,对数据库系统进行升级和扩展是非常痛苦的事情,往往需要停机维护和数据迁移。

集群方式虽然可以缓解上述问题,但仍然存在下列缺陷:

  1. 复杂性–集群配置、部署、管理都和复杂。
  2. 延迟性–主数据库压力较大时,会产生较大延迟。主备切换时候可能需要人工参与。
  3. 扩容性–集群中增加新机器时,对整个数据集重新分区,非常复杂。

ACID理论

ACID,是指数据库管理系统(DBMS)在写入或更新资料的过程中,为保证事务(transaction)是正确可靠的,所必须具备的四个特性
在这里插入图片描述

Nosql数据库

在这里插入图片描述
NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来
的挑战,尤其是大数据应用难题。
在这里插入图片描述

CAP理论

主要概念 解释
C(Consistency)一致性 一致性是指更新操作成功并返回客户端完成后,所有节点在同一时间的数据完全一致,与ACID的C完全不同。
A(Availability)可用性 可用性是指服务一直可用,而且是正常响应时间。
P(Partition tolerance)分区容错性 分区容错性是指分布式系统在遇到某节点或网络分区故障的时候,仍然能够对外提供满足一致性和可用性的服务。

鱼与熊掌不可兼得。一个分布式系统不可能同时满足一致性、可用性、分区容忍性这三个需求,最多只能同时满足其中两个。

BASE理论

我们理想中的情况:
在这里插入图片描述
实际中的情况:
在这里插入图片描述

CA 优先保证一致性和可用性,放弃分区容错。缺点:不再是分布式系统
CP 优先保证一致性和分区容错性,放弃可用性。缺点:牺牲用户体验
AP 优先保证可用性和分区容错性,放弃一致性。缺点:全局数据的不一致性
基本可用 软状态 最终一致性
指分布式系统在出现不可预知故障的时候,允许损失部分可用性。允许分区失败的情形出现。 硬状态数据库状态必须一直保持数据库一致性。软状态状态可以有一段时间不同步 系统中所有的数据副本,在经过一段时间的同步后,最终能够达到一个一致的状态。

Nosql数据库与sql数据库的比较

特征 SQL数据库 Nosql数据库
数据类型 结构化 非结构
数据一致性 强一致性 弱一致
事务 高事务性 弱事务性
扩展性 一般
数据容量 有限数据 海量数据
标准化
技术支持
可维护性 复杂 复杂

Nosql的主要类型

在这里插入图片描述

键值(key-Value)数据库

在这里插入图片描述
在这里插入图片描述

列族数据库

  • SQL模式
    在这里插入图片描述
  • 行式存储
    在这里插入图片描述
  • 列式存储
    在这里插入图片描述

HBase

在这里插入图片描述

文档数据库

在这里插入图片描述
在这里插入图片描述

图形数据库

在这里插入图片描述

交流

对软考有兴趣的朋友可以进博主的交流群,目前有软件设计师、高项、系统架构师、系统分析师四个群。

  1. 群内有历年真题、电子书等资料可以自取;
  2. 无营销、纯交流群;
  3. 每周会有两次送书活动一次三本,包邮到家。

交流入口

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐