【Redis】Nosql非关系型数据库

感谢B站狂神的学习资源,有兴趣的小伙伴可以去搜索:遇见狂神说。

再说下我为啥要学redis,因为在面试中遇到过,并且没答好,就这么简单。
不过在正式学习redis之前,要先了解NoSQL。

一、什么是NoSQL

NoSQL是一个泛称,泛指非关系型的数据库。

NoSQL并不是没有sql的意思,而是 Not Only Sql,不仅仅是sql。在web2.0时代,传统的关系型数据库(RDBMS)比如mysql,已经很难满足当下的各种需求,尤其是超大规模的高并发的社区。于是Nosql应运而生。而Redis则是其中发展最快的,自然也成为当前从业人员必须要掌握的一个技术了。

二、NoSQL特点

  • 方便扩展,因为数据之间没有关系。
  • 大数据量,高性能。redis官方公布的性能,每秒可以写8W次,读取11W次。
  • 数据类型多样。比如基本类型有:String、List、Set、Hash、Zset,以及特殊数据类型:geo、hyperloglog、bitmap。
  • 不需要事先设计数据库。

三、RDBMS 与 NoSQL 的区别

RDBMS

  • 结构化组织
  • SQL
  • 数据和关系都存在单独的表中
  • 数据定义,数据操作增删改成
  • 严格的一致性
  • 基础的事务

NoSQL

  • 不仅仅是数据
  • 没有固定的查询语言
  • 多种存储方式,比如键值对存储、列存储、文档存储、图形数据(比如社交关系)
  • 最终一致性
  • 高性能、高可用、高扩展

对比并非是说哪种更好,还是看如何使用最适合。在公司中,更多的是上述两者相结合,才能发挥出更大的作用。

四、NoSQL的分类

  • K-V键值对:比如Redis、Tair、memcached
  • 文档型数据库:使用的是bson格式,类似于json,主要用来处理大量的文档。比如MongoDB,MongoDB是一个介于关系型数据库和非关系型数据库之间的产品。
    在nosql里数它功能最丰富,最像RDBMS。
  • 列存储数据库:以列簇式存储,将同一列数据存放在一起,查找速度快,可扩展性强,更容易进行分布式拓展,比如Hbase。
  • 图形数据库:用来存储关系,专注于构建关系图谱,比如社交网络,推荐系统。
--不要用肉体的勤奋,去掩盖思考的懒惰--
原文地址:https://www.cnblogs.com/pingguo-softwaretesting/p/14881832.html