🔎这里是【软考——系统架构师】,关注我考试轻松过线 👍如果对你有帮助,给博主一个免费的点赞以示鼓励
欢迎各位🔎点赞👍评论收藏⭐️
文章目录
关系型数据库的缺点
- 不满足高并发读写需求 : 网站的用户并发性非常高,往往达到每秒上万次读写请求,对于传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。
- 不满足海量数据的高效率读写: 网站每天产生的数据量是巨大的,对于关系型数据库来说,在一张包含海量数据的表中查询,效率是非常低的。
- 不满足高扩展性和可用性: 在基于web的结构当中,数据库是最难进行横向扩展的,当一个应用系统的用户量和访问量与日俱增的时候,数据库却没有办法像web server和app server那样简单的通过添加更多的硬件和服务节点来扩展性能和负载能力。对于很多需要提供24小时不间断服务的网站来说,对数据库系统进行升级和扩展是非常痛苦的事情,往往需要停机维护和数据迁移。
集群方式虽然可以缓解上述问题,但仍然存在下列缺陷:
- 复杂性–集群配置、部署、管理都和复杂。
- 延迟性–主数据库压力较大时,会产生较大延迟。主备切换时候可能需要人工参与。
- 扩容性–集群中增加新机器时,对整个数据集重新分区,非常复杂。
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
文档数据库
图形数据库
送书福利
内容介绍:
本书精选Kubernetes的硬核知识,帮助读者快速进阶和积累Kubernetes实战经验。本书共8章,主要包括认识Kubernetes,快速构建Kubernetes集群,Kubernetes核心对象使用,Kubernetes容器编排实践,Kubernetes系统运维与故障处理,构建Kubernetes高可用集群,Kubernetes监控与告警(Prometheus+Grafana)和基于Kubernetes的CI/CD项目综合实践(GitLab+ Harbor+Jenkins)。
本书前三章可以帮助读者快速掌握Kubernetes核心知识和高频操作;第4、第5章帮助读者快速掌握Kubernetes的进阶使用;第6~8章是Kubernetes及其外围系统的综合应用,帮助读者快速积累实战经验。
本书既可以作为云原生及相关行业从业者的技术参考书,也可以作为高等院校计算机、云计算和大数据相关专业的教材。
本书由机械工业出版社提供
来源地址:https://blog.csdn.net/weixin_50843918/article/details/129482734