redis之NoSQL数据模型简介与分类

来源:互联网 发布:vue js 折叠面板例子 编辑:程序博客网 时间:2024/05/17 09:34
分析对比数据库与非关系型数据库的利弊:以一个电商表设计切入;
聚合模型:KV键值,Bson,列族,图形:

四大分类:
KV键值:
文档型数据库:
列存储数据库:
图关系数据库:

分布式数据库中CAP原理:CAP+BASE;
传统的ACID:atomicity原子性;consistency一致性;isolation独立性;durability持久性;
CAP:consistency强一致性;availability可用性;partition tolerance分区容错性;
CAP理论就是说在分布式存储系统中,最多只能实现上面的两点。其中,分区容忍性是我们必须需要实现的。所以我们只能在一致性和可用性之间进行权衡,没有NoSQL系统能同时保证这三点。
C:强一致性 A:高可用性 P:分布式容忍性
一致性和可用性之间取一个平衡。大多数web应用并不需要强一致性,因此牺牲C换取P,这是目前分布式数据库产品的方向。
CA: 传统Oracle数据库
AP: 大多数网站架构的选择
CP: Redis、Mongodb
CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,最多只能同时较好的满足两个。因此,根据 CAP 原理将 NoSQL 数据库分成了满足 CA 原则、满足 CP 原则和满足 AP 原则三大类:
CA - 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。
CP - 满足一致性,分区容忍性的系统,通常性能不是特别高。
AP - 满足可用性,分区容忍性的系统,通常可能对一致性要求低一些。

BASE:
就是为了解决关系数据库强一致性引起的问题,而引起的可用性降低而提出的解决方案。
BASE其实是下面三个术语的缩写:
    基本可用(Basically Available)
    软状态(Soft state)
    最终一致(Eventually consistent)
它的思想是通过让系统放松对某一时刻数据一致性的要求,来换取系统整体伸缩性和性能上改观。大型系统往往由于地域分布和极高性能的要求,不可能采用分布式事务来完成这些指标,要想获得这些指标,我们必须采用另外一种方式来完成,这里BASE就是解决这个问题的办法。

分布式、集群简介:
1分布式:不同的多台服务器上面部署不同的服务模块(工程),他们之间通过Rpc/Rmi之间通信和调用,对外提供服务和组内协作。
2集群:不同的多台服务器上面部署相同的服务模块,通过分布式调度软件进行统一的调度,对外提供服务和访问。


原创粉丝点击