- CAP :
C - Consistency : 强一致性
A - Availability : 可用性
P - Partition Tolerance : 分隔容忍性 - 数据库事务(Transaction)的四个基本属性ACID:
A - Atomicity : 原子性 --原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。
C - Consistency : 一致性 -- 事务在完成时,必须使所有的数据都保持一致状态。
I - Isolation : 隔离性 -- 由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。
D - Durability : 持久性 -- 事务完成之后,它对于系统的影响是永久性的。该修改即使出现致命的系统故障也将一直保持。
1. 关系型数据库
1.持久化数据 - 应用程序需要
2.优势 :
组织和管理数据
方便CRUD(create, read, update, delete)操作
能够避免重复的无效的数据
- 理论基础 : 集合论 + 关系代数
- 特点 : 二维表( two-dimonsion table)组织数据
行(row) - 记录
列(column) - 字段
主键(primary key) - 唯一确定一条记录的列 (如学号) - 编程语言: SQL(结构化查询语言)
b. 关系型数据库的数据完整性 (面试题)
- 实体完整性 - 没有冗余的记录(每条记录都是独一无二的)
主键 - 唯一约束/唯一索引 - 参照完整性(引用完整性) - 列的数据要参照其它表的列的数据(主键)
外键 - - 域完整性 - 表中的数据都是有效的数据
数据类型 / 非空约束 / 默认值约束 / 检查约束
dcl / 视图 / 函数
python程序里使用关系型数据库
2. 非关系型数据库 NoSQL - Not Only SQL
BASE :
Redis - 键值对(key-valuse)形式
特点 :
- 存储速度快 <-- 数值存储在内存(RAM),
- 单线程 + 异步(非阻塞式)I/0 : 足以支持大量请求
- 以K-V读写
- 缓存热点数据(需要频繁读写的数据, 首页...), 大量数据仍然放在数据库里 -->以空间换时间 - 缓存
网站优化两大定律 : 1. 缓存(Redis); 2. 能够推迟做的事情,不要马上做(消息队列)
MongoDB
互联网上要用到P;一般选择AP,牺牲C
Redis
网友评论