到底什么是NoSQL
大约 2 分钟数据库技术Redis
NoSQL = Not Only SQL(不仅仅是SQL)
关系型数据库:表格,行,列。
泛指非关系型数据库。随着WEB2.0互联网的诞生,传统的关系型数据库很难对付WEB2.0时代!尤其是超大规模的高并发的社区!暴露出来很多难以克服的问题,NoSQL在当今大数据环境下发展得十分地迅速。Redis是发展最快的,而且是我们当下必须要掌握的一个技术。
很多的数据类型,比如用户的个人信息,社交网络,地理位置。这些数据类型的存储不需要一个固定的格式。不需要多余的操作就可以横向扩展的。
NoSQL特点
1、方便扩展(数据之间没有关系,很好扩展)。
2、大数据高性能(NoSQL的缓存:记录级。是一种细粒度的缓存,性能比较高)。
3、数据类型是多样型的。(不需要事先设计数据库。随取随用。如果是数据量十分大的表,很多人就无法设计了。)
传统RDBMS和NoSQL
传统的RDBMS
- 结构化组织
- SQL
- 数据和关系都存在单独的表中
- 数据操作,数据定义语言
- 严格的一致性
- 基础的事务
- ......
NoSQL
- 不仅仅是SQL
- 没有固定的查询语言
- 键值对存储、列存储、文档存储、图形数据库(社交关系)
- 最终一致性
- CAP定理 和 BASE (异地多活)
- 高性能、高可用、高可扩展
- ......
大数据时代的3V:主要是描述问题的。
- 海量Volume
- 多样Variety
- 实时Velocity
大数据时代的3高:主要是对程序的要求。
- 高并发
- 高可扩(随时水平拆分,机器不够了,可以加机器)
- 高性能(保证用户体验和性能)
真正在公司的实践:
NoSQL + RDBMS 一起使用是最强的
技术没有高低之分,就看你如何去使用。(提升内功,思维的提高。)