Nosql知识总结
非关系型数据库
Memcached(临时性键值存储)
Redis(临时性/永久性键值存储)
MongoDB(面向文档的数据库)
Hbase(列存储数据库)
关系型数据库优缺点
优点:
- 保持数据的一致性
- 标准化为前提,数据查询开销小
- jion等复杂查询
- 存在很多实际的成果和技术信息
缺点:
- 大量数据的写入
- 拓展性差
- 在已存在数据表更新数据和表结构的变更
- 不固定字段时使用
- 简单查询时快速响应
CAP:
一致性:Consistency 可用性:Availability 分区容错性:partition Tolerance
ACID
指数据库事务正确执行的四个基本要素的缩写。包含:原子性(Atomicity)、
一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。
1)原子性:一个事务的所有系列操作步骤被看成是一个动作,所有的步骤要么全部完成要么
都不会完成。
2)一致性:事务执行前后,数据库的状态都满足所有的完整性约束。例如表与表之间存在外键
约束,但是有数据却违背这种约束性,这种情况就不满足一致性。
3)隔离性:并发执行的事务是隔离的,保证多个事务互不影响,隔离能够确保并发执行的事务
能够顺序一个接一个执行,通过隔离,一个未完成事务不会影响另外一个未完成事
务。
4)持久性:一个事务一旦提交,它对数据库中数据的改变就应该是永久性的,不会因为和其
他操作冲突而取消这个事务
一、Hbase
与关系型数据的区别
- 数据类型:关系型有多种数据类型,而hbase只有string
- 数据操作:多变关联操作,简单的数据查询
- 存储模式:关系型的行的储存模式,hbase列的存储模式
- 数据索引:关系型可以添加索引进行复杂查询,hbase基于行键
- 数据维护:替换原来的数据,hbase保留多个版本
- 可伸缩性:很难横向扩展、hbase有很好的扩展性