在之前的学习,以及自己的做练习中,都是只对一个数据库进行操作
在访问量小,数据不多的情况下,这样的设计是没有问题的
BUT
数据库面对的问题:
单个数据库,数据量的增多,对于读写都是同一个数据库,总之就是一点:当你的数据到达一定的量的时候,单机数据库都是扛不住的,频繁的读写也会对数据库造成影响,此时就要采用大量的缓存技术来缓解数据库的压力,优化数据库的结构和索引(数据库结构优化和索引优化是数据库高级技术中的)
数据库的引擎 InnoDB 使用行锁,MyISAM 使用的是表锁.行锁:当前在操作这一行其他对改行的操作就不能进行(进了这个房间就关了门,其他人不能进)
在海量的数据和高并发的访问压力之下,nosql 算是应势而生
以下内容基于nosql 和sql 的不同当前互联网的一些需求介绍nosql
not only sql 泛指非关系型数据库
nosql 的优势
1.Nosql 的特点:
- 扩展性:
1. 数据的存储不需要什么固定的格式(如果是关系型数据库它的横向和纵向是无法无限扩充字段的)
2. 例如:Redis中的数据都是一堆key-value 值对数据之间是没有关系的
,并且对于value 它的类型可以是任意的
,使得在架构层面上带来了一定的扩展能力,而关系型数据库你规定了该字段用什么类型的数据就只能使用什么类型的数据 - 大数据量的高性能
例如:Redis 的读写性能是非常好