到底什么是NoSQL

HeJin大约 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:主要是描述问题的。

  1. 海量Volume
  2. 多样Variety
  3. 实时Velocity

大数据时代的3高:主要是对程序的要求。

  1. 高并发
  2. 高可扩(随时水平拆分,机器不够了,可以加机器)
  3. 高性能(保证用户体验和性能)

真正在公司的实践:

NoSQL + RDBMS 一起使用是最强的

技术没有高低之分,就看你如何去使用。(提升内功,思维的提高。)