Redis详解(一)NoSQL

第一章 NoSQL

字节跳动校招内推码: NH19EF9
投递链接: https://jobs.toutiao.com/s/L3bLQM3

1. 什么是NoSQL

NoSQL = Not Only SQL(不仅仅是SQL),也解释为 non-relational(非关系型数据库)。在NoSQL数据库中数据之间是无联系的,无关系的。数据的结构是松散的,可变的。

2. 为什么使用NoSQL?

关系型数据库的瓶颈:

  1. 无法应对每秒上万次的读写请求,无法处理大量集中的高并发操作。关系型数据库是IO密集的应用。硬盘IO也变为性能瓶颈。

  2. 无法简单地通过增加硬件、服务节点来提高系统性能。

    数据整个存储在一个数据库中的。多个服务器没有很好的解决方法,来复制这些数据。

  3. 关系型数据库大多是收费的,对硬件的要求较高。软件和硬件的成本花费比较大。

3.NoSQL的优势

  1. 大数据量,高性能

    NoSQL数据库都具有非常高的读写性能,尤其大数据量下,表现同样优秀。

    这得益于它的无关系性,数据库的结构简单。

    关系型数据库,例如MySQL,使用查询缓存。这种查询在更新数据后,缓存就失效了,在频繁的数据读写交互应用中。缓存的性能不高。NoSQL的缓存性能要高的多。

  2. 灵活的数据模型

    ​ NoSQL无需事先为要存储的数据建立字段,随时可以存储自定义的数据格式。而在关系数据库里,增删字段是一件非常麻烦的事情。如果是非常大数据量的表,增加字段难度非常大。

    ​ 在快速变化的市场环境中,用户的需求总是在不断变化的。

  3. 高可用

    1. NoSQL在不太影响性能的情况,可以方便的实现高可用的架构。
    2. 很好的解决关系型数据库拓展性差的问题。弥补了关系数据(比如MySQL)的不足,能极大的节省开发成本和维护成本。
    3. 两者结合使用,让关系数据库关注在关系上,NoSQL关注在存储上。
  4. 低成本

    这是大部分分布式数据库共有的特点,因为主要是开源软件,没有昂贵的License成本。

4.NoSQL的劣势

  1. 不支持标准的SQL,没有公认的NoSQL标准。
  2. 没有关系型数据库的约束,大多数也没有索引的概念。
  3. 没有事务,不能依靠事务实现ACID
  4. 没有丰富的数据类型(数值,日期,字符,二进制,大文本等)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值