NoSQL简介

    技术2023-04-01  81

    NoSQL简介

    为什么要使用NoSQL什么是NoSQLNoSQL 四大分类


    Redis系列笔记跟着B站up狂神说学习,所有笔记照着敲了一遍,记录下来供后续忘了参考。


    一、NoSQL简介 二、Redis入门–配置安装等 三、Redis数据类型(重要) 四、Redis事务 五、Jedis使用 六、SpringBoot整合Redis 七、Redis持久化


    为什么要使用NoSQL

    1、MySQL单机时代

    1、数据量如果太大、一个机器放不下了!

    2、数据的索引(B+Tree),一个机器内存也放不下

    3、访问量(读写混合),一个服务器承受不了

    2、Memchached(缓存)+MySQL+垂直拆分(读写分离)

    网站80%的情况都是在读,每次都要去查询数据库的话就十分的麻烦!所以说我们希望减轻数据的压力,我们可以使用缓存来保证效率!

    发展过程:优化数据结构和索引–> 文件IO --> Memchached

    3、分库分表+水平拆分+MySQL集群

    数据库本质:读+写

    早些年:MyIASM–表锁,十分影响效率,高并发出现十分严重的锁问题

    然后:Innodb–行锁

    慢慢使用分库分表解决写的压力,MySQL推出了表分区,但是用的人不多

    MySQL的集群,很好的满足了当时的需求。

    4、如今

    MySQL等关系型数据库不够用了,数据量很多,变化快

    为什么要用NOSQL

    用户的个人信息,社交网络,地理位置。用户自己产生的数据,用户日志等等爆发式增长! 这时候我们就需要使用NoSQL数据库的,Nosql可以很好的处理以上的情况!

    什么是NoSQL

    NoSQL=Not Only SQL(不仅仅仅是SQL) 关系型数据库:表格,行,列 泛指非关系型数据库的,随着web2.0互联网的诞生!传统的关系型数据库很难对付web2.0时代!尤其是超大规模的高并发的社区!暴露出来很多难以克服的问题,NoSQL在当今大数据环境下发展的十分迅速,Redis是发展最快的,而且是我们当下必须要掌握的一个技术!

    NoSQL特点

    解耦! 1、方便扩展(数据之间没有关系,很好扩展!) 2、大数据量高性能(Redis一秒写8万次,读取11万,NoSQL的缓存记录级,是一种细粒度的缓存,性能会比较高!) 3、数据类型是多样型的!(不需要事先设计数据库!随取随用!如果是数据量十分大的表,很多人就无法设计了!) 4、传统RDBMS和NoSQL

    传统的RDBMS - 结构化组织 - SQL - 数据和关系都存在单独的表中 - 操作操作,数据定义语言 - 严格的一致性 - 基础的事务 - ··· Nosq1 - 不仅仅是数据 - 没有固定的查询语言 - 键值对存储,列存储,文档存储,图形数据库(社交关系) - 最终一致性, - CAP定理和BASE(异地多活)初级架构师! - 高性能,高可用,高可扩 - ···

    3V+3高

    大数据时代的3V:主要是描述问题的 1. 海量Volume 2. 多样Variety 3. 实时Velocity 大数据时代的3高:主要是对程序的要求 1. 高并发 2. 高可扩 3. 高性能

    NoSQL 四大分类

    kv键值对

    新浪:Redis美团:Redis + Tair阿里、百度:Redis+Memchache

    文档型数据库(Bson格式和Json一样)

    MongoDB MongoDB是一个基于分布式文件存储的数据库,C++编写,主要用来处理大量的文档!MongoDB是一个介于关系型数据库和非关系型数据中中间的产品!MongoDB是非关系型数据库中功能最丰富,最像关系型数据库的!

    列存储数据库

    HBase分布式文件系统

    图关系数据库

    Neo4J 社交网络,广告推荐,关系图谱等不是存图片的,而是存关系的
    Processed: 0.009, SQL: 9