NoSQL
90年代,网站的访问量不会大大,单个数据库完全足够用,那个时候更多的去使用静态网页。
缓存 + MySQL + 垂直拆分(读写分离)
发展过程:优化数据结构和索引——文件缓存(IO)——Memcached
分库分表 + 水平拆分 + MySQL集群
如今的年代
数据量很多,变化很快,
MySQL等关系型数据库不够用了
如果有一些专门的数据库可以单独存储博客、图片等特殊的数据,那MySQl的压力就变小了
目前一个基础的互联网项目
用户先访问企业的防火墙,进行负载均衡,到不同的服务器。。。
为什么要用NoSQL
NoSQL:不仅仅是SQL(非关系型数据库)
传统的关系型数据库很难应付web2.0时代
Redis是NoSQL中发展最快的
很多数据类型,比如用户的个人信息,社交网络,地理位置,他们的存储不需要一个固定的模式。
NoSQL特点
- 方便拓展(数据关系没有关系)
- 大数据量高性能(Redis的缓存是细粒度的,性能很高)
- 数据类型是多样型的(不需要事先设计数据库)
传统的RDBMS和NoSQL的区别
传统的RDBMS
- 结构化组织
- SQL
- 数据和关系都存在单独的表中
- 严格的一致性
- 基础的事务
- 。。。
NoSQL
- 不仅仅是数据
- 没有固定的查询语言
- 键值对存储、列存储、文档存储、图形数据库
- 最终一致性
- CAP定理和BASE (异地多活)
- 高性能,高可用,高可扩展性
公司中的实践 NoSQL+RDBMS
网友评论