非关系型数据库NoSQL

非关系型数据库NoSQL

1.CAP理论和Base特性

1.1CAP理论

简单的说对于一个分布式系统要满足一致性 可用性和分区容错性

一致性:系统在执行了某些操作之后仍然可以处于一个一致性的状态

可用性:是指对数据的所有操作都有成功的返回 任何请求不管成功还是失败都能有响应

分区容错性:在网络发生故障的时候 在网络连接上一些节点出现问题故障 使得原本的联通的网络变成了一块一块的分区 若系统继续工作这些分区是可容忍的

1.2ACID

原子性:事务的操作要么都做都不做

一致性:一个事务的执行结果必须从一个一致性状态变成另外一个一致性的状态

隔离性:一个事务的执行不能被其他的事务干扰 并发事务在执行的时候可能对同一数据进行操作这些事务的操作应该不会相互干扰是相互隔离的

持久性:一个事务一旦提交 他对数据库的改变必然是永久的 及即使系统出现故障也是如此的。

1.3BASE理论

由于CAP理论的存在 为了提高性能出现了ACID的变种BASE 一个弱一致性的理论 只要求最终是一致性的

BA基本可用

S:软状态 soft state ,无连接的

E:最终一致性,最终整个系统看到的数据是一致性的

2.各种nosql数据库的分类和特点

2.1NoSQL分类

文档:

mongodb couchDB

wen应用 存储面向文档的半结构化数据

结构灵活 可以根据value设置索引

缺乏统一的查询语法 无事务

键值:

Redis

内容缓存 会话 配置文件 参数等

扩展性好 灵活 大量操作性能高

数据无结构化 通常被当作字符串或者二进制文件 通过键查询值

列存储:

hbase

分布式数据存储和管理

可扩展性强 查询速度快 复杂性底

功能局限不支持事务

图存储

Neo4j

社交网络 推荐系统 专注于构建系统图谱

支持复杂的图形算法

复杂性高 只能支持一定的数据规模

相关推荐
短剑重铸之日1 小时前
《7天学会Redis》Day 5 - Redis Cluster集群架构
数据库·redis·后端·缓存·架构·cluster
007php0071 小时前
mySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据
数据库·redis·git·mysql·面试·职场和发展·php
lkbhua莱克瓦241 小时前
进阶-存储过程3-存储函数
java·数据库·sql·mysql·数据库优化·视图
老邓计算机毕设2 小时前
SSM心理健康系统84459(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·心理健康系统·在线咨询
碎像2 小时前
10分钟搞定 MySQL 通过Binlog 数据备份和恢复
数据库·mysql
+VX:Fegn08952 小时前
计算机毕业设计|基于springboot + vue小型房屋租赁系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
win x2 小时前
Redis 分布式锁
数据库·redis·分布式
2501_944521002 小时前
rn_for_openharmony商城项目app实战-商品评价实现
javascript·数据库·react native·react.js·ecmascript·harmonyos
冉冰学姐2 小时前
SSM心理健康系统59q3n(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架应用·心理健康系统·心理文章