网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
哈喽!大家好,我是【一心同学】,一位上进心十足的【**Java领域博主】!**😜😜😜
✨【一心同学】的写作风格:喜欢用【通俗易懂】的文笔去讲解每一个知识点,而不喜欢用【高大上】的官方陈述。
✨【一心同学】博客的领域是【面向后端技术】的学习,未来会持续更新更多的【后端技术】以及【学习心得】。
✨如果有对【后端技术】感兴趣的【小可爱】,欢迎关注【一心同学】💞💞💞
❤️❤️❤️**感谢各位大可爱小可爱!**❤️❤️❤️
目录
前言
在理解Redis是什么之前,我们先来学习什么是NoSQL,这样才可以更加方便我们去理解Redis。
一、NoSQL是什么?
NoSQL的全程是 Not Only SQL ,意思是:“不仅仅是SQL”,是指非关系型的数据库,是一项全新的数据库革命性运动。
🌴 关系型数据库与非关系型数据库区别
🚀关系型数据库:
(1)高度组织化结构化数据
(2)结构化查询语言(SQL)
(3)数据和关系都存储在单独的表中。
(4)数据操纵语言,数据定义语言
(5)严格的一致性
(6)遵循ACID规则 (原子性、一致性、隔离性、持久性,一个支持事务的数据库,必需要具有这四种特性,否则在事务过程当中无法保证数据的正确性)
🚀非关系型数据库:
(1)不仅仅是SQL
(2)没有声明性查询语言
(3)没有预定义的模式
(4)键 - 值对存储,列存储,文档存储,图形数据库
(5)最终一致性,而非ACID属性
(6)高性能,高可用,高可扩
🌴 为什么要用NoSQL?
在90年代,一个网站的访问量一般都不大,用单个数据库完全可以轻松应付,故当时使用关系型数据库****是没有问题的。
随着互联网技术的发展**,MySQL 等关系型数据库就不够用了,因为我们需要存储很多非常大的数据,例如文件,博客,图片等等以及在商城网站中对商品数据频繁查询、对**热搜商品**的排行统计**,订单超时问题,虽然关系型数据库也能做,但这样的话我们的数据库表就很大,性能也很低,而且数据的大量增加,我们对数据库的设计也越来越困难了!
而我们的****非关系型数据库NoSQL就可以解决上面的问题,能够很好的处理这些大的数据!
🌴 NoSQL四大分类
类型 | 相关产品 | 应用场景 | 优点 | 缺点 |
键值数据库 | Redis、Riak、SimpleDB、Chordless、Scalaris、Memcached | 内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统等等 | 查找速度快,扩展性好、灵活性好、大量写操作时性能高 | 无法存储结构化信息、条件查询效率较低 |
列族数据库 | Cassandra,HBase,Riak | 分布式数据存储与管理 | 查找速度快、可扩展性强、容易进行分布式扩展、复杂性低 | 功能相对局限 |
文档数据库 | MongoDb,CouchDB | 存储、索引并管理面向文档的数据或者类似的半结构化数据 | 性能好、灵活性高、复杂性低、数据结构灵活 | 查询性能不高,缺乏统一的查询语言 |
图形数据库 | Neo4J,InfoGrid,Infinite Graph | 大量复杂、互连接、低结构化的图结构场合,如社交网络、推荐系统等注重于构建关系图的场景 | 灵活性高、支持复杂的图形算法、可用于构建复杂的关系图谱 | 复杂性高、只能支持一定的数据规模,很多时候需要对整个图做计算才能得出需要的信息 |
🔥 NoSQL小结
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
不再深入研究,那么很难做到真正的技术提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!