(下面的东西只是笔记,绝大部分都是尚硅谷老师讲的Redis视频内容。一是为了要部署一个项目,来突击学习一下,二是大学里就学过关系型数据库中的mysql,考试也就是多表查询,嵌套查询,难以满足当今应用。)
NoSQL(Not Only Sql)
总结:
传统的关系型数据库的ACID
ACID,指数据库事务正确执行的四个基本要素的缩写。
NoSQL中有CAP
CAP的3进2
CAP理论的核心是:一个分布式系统不可能同时很好的满足三个需求,最多只能同时较好的满足两个;如果就在本地部署DB的话,实际上P是不用考虑的,所以CAP原理是针对分布式系统来说的。
由于当前网络硬件肯定会出现延迟丢包等问题,所以分区容忍性是我们必须实现的。
所以只能在一致性和可用性之间进行权衡,没有NoSQL系统能同时保证这三点。
CA:传统Oracle数据库。单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大
CP:Redis、Mongodb。满足一致性、分区容错性的系统,通常性能不是特别高
AP:分布式、大多数网站架构的选择。满足可用性、分区容错性的系统,通常对一致性要求低一些,不是没有一致性,只是有延时。
BASE
为了解决关系型数据库强一致性引起的可用性降低问题,而提出的解决方案
思想:牺牲一致性,换取系统整体伸缩性和性能上的提高。
分布式+集群
分布式系统(Distributed System)
由多台计算机和通信的软件组件通过计算机网络连接组成。分布式系统是建立在网络之上的软件系统。
分布式和集群的区别