广告
返回顶部
首页 > 资讯 > 数据库 >redis学习之NoSQL是什么意思
  • 725
分享到

redis学习之NoSQL是什么意思

2024-04-02 19:04:59 725人浏览 八月长安
摘要

小编给大家分享一下Redis学习之NoSQL是什么意思,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1、互联网时代背景下大机遇,为什么用NoSQL1.1单机MySQL的美好年代在90年代,

小编给大家分享一下Redis学习NoSQL是什么意思,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

1、互联网时代背景下大机遇,为什么用NoSQL

1.1单机MySQL的美好年代

在90年代,一个网站的访问量一般都不大,用单个数据库完全可以轻松应付。
在那个时候,更多的都是静态网页,动态交互类型的网站不多。
redis学习之NoSQL是什么意思
DAL dal是数据访问层的英文缩写,即为数据访问层(Data Access Layer)

上述架构下,我们来看看数据存储的瓶颈是什么?
1.数据量的总大小一个机器放不下时
2.数据的索引(B+ Tree)一个机器的内存放不下时
3.访问量(读写混合)一个实例不能承受
如果满足了上述1or3个,进化…

1.2.Memcached(缓存)+MySQL+垂直拆分

后来,随着访问量的上升,几乎大部分使用Mysql架构的网站在数据库上都开始出现了性能问题,WEB程序不再仅仅专注在功能上,同时也在追求性能。程序员们开始大量的使用缓存技术来缓解数据库的压力,优化数据库的结构和索引。开始比较流行的是通过文件缓存来缓解数据库压力,但是当访问量继续增大的时候,多台web机器通过文件缓存不能共享,大量的小文件缓存也带了了比较高的IO压力。在这个时候,Memcached就自然的成为一个非常时尚的技术产品。
redis学习之NoSQL是什么意思
相当于之前dao层直接访问数据库,现在中间插入了一个cache层。频繁的数据库访问造成了性能的降低,我们把其中的一些内容放入缓存中,减轻压力。

1.3.Mysql主从读写分离

由于数据库的写入压力增加,Memcached 只能缓解数据库的读取压力。读写集中在一个数据库上让数据库不堪重负,大部分网站开始使用主从复制技术来达到读写分离,以提高读写性能和读库的可扩展性Mysql的master-slave模 式成为这个时候的网站标配了。
redis学习之NoSQL是什么意思
解释:主库有一条记录更新,为了保证数据的完整性,需要复制到从库中。读写分离:Master/slaver。我们可以将写的操作放在主库中,读的操作放在从库中。

1.4.分表分库+水平拆分+mysql集群

在Memcached的高速缓存,mysql的主从复制, 读写分离的基础之上,这时MySQL主库的写压力开始出现瓶颈,而数据量的持续猛增,由于MyISAM使用表锁,在高并发下会出现严重的锁问题,大量的高并发Mysql应用开始使用InnoDB引擎代替MyISAM。
同时,开始流行使用分表分库来缓解写压力和数据增长的扩展问题。这个时候,分表分库成了一个热门技术,是面试的热门问题也是业界讨论的热门技术问题。也就在这个时候,MySQL推出了还不太稳定的表分区,这也给技术实力一般的公司带来了希望。虽然MySQL推出了MySQL Cluster集群,但性能也不能很好满足互联网的要求,只是在高可靠性上提供了非常大的保证。
redis学习之NoSQL是什么意思
和行锁?
分库分表 1-3000进1号库。3001-6000进2号库。等等

1.5.MySQL的扩展性瓶颈

MySQL数据库也经常存储一些大文本字段,导致数据库表非常的大,在做数据库恢复的时候就导致非常的慢,不容易快速恢复数据库。比如1000万4KB大小的文本就接近40GB的大小, 如果能把这些数据从MySQL省去,MySQL将变得非常的小。关系数据库很强大,但是它并不能很好的应付所有的应用场景。MySQL的扩展性差(需要复杂的技术来实现),大数据io压力大,表结构更改困难,正是当前使用MySOL的开发人员面临的问题。

1.6.今天是什么样子? ?

redis学习之NoSQL是什么意思
防火墙-Nginx-Tomcat集群

1.7.为什么用NoSQL

今天我们可以通过第三方平台( 如: Google,Facebook等) 可以很容易的访问和抓取数据。用户的个人信息,社交网络,地理位置,用户生成的数据和用户操作日志已经成倍的增加。我们如果要对这些用户数据进行挖掘,那SQL数据库已经不适合这些应用了,NoSQL数据库的发展也却能很好的处理这些大的数据。
redis学习之NoSQL是什么意思

2.是什么

NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL 数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题,包括超大规模数据的存储

(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展

3.能干嘛

易扩展

NoSQL数据库种类繁多,但是一个共同的特点都是去掉关系数据库的关系型特性。数据之间无关系,这样就非常容易扩展。也无形之间,在架构的层面上带来了可扩展的能力。

大数据量高性能

NoSQL数据库都具有非常高的读写性能,尤其在大数据量下,同样表现优秀。
这得益于它的无关系性,数据库的结构简单。
一般MySQL使用Query Cache,每次表的更新Cache就失效,是一种大粒度的Cache,在针对web2.0的交互频繁的应用,Cache性能不高。
而NoSQL的Cache是记录级的,是一种细粒度的Cache,所以NoSQL在这个层面上来说就要性能高很多了。

多样灵活的数据模型

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

传统RDBMS VS NOSQL

RDBMS
高度组织化结构化数据
结构化查询语言(SQL)
数据和关系都存储在单独的表中
数据操纵语言,数据定义语言
严格的一致性
基础事务
NoSQL
代表着不仅仅是SQL
没有声明性查询语言
没有预定义的模式
键-值对存储,列存储,文档存储,图形数据库
最终一致性,而非ACID属性
非结构化和不可预知的数据:
CAP定理
高性能,高可用性和可伸缩性

4.有哪些NoSQL

Redis(数据类型和高速缓存,各方面都比较优秀)
Memcached(高速缓存)
MongDB(最类似关系型数据库)

5.怎么玩

KV
Cache
Persistence

谈谈你对Redis的理解,就说KV-CACHE-PERSISITENCE

3V + 3高

大数据时代的3V:
海量Volume
多样Variety
实时Velocity
系统上出现一些问题的描述,淘宝双十一海量的数据。一条微博,文字域,视频域和背景域等等。多样化。12306实时性要求高。做不到绝对的实时

互联网需求的3高:
高并发
高可括
高性能
系统要支持高并发,如12306.四种方式获得线程
可扩展性,横向和纵向。横向,一台机器不够,再加机器。
性能要求高

看完了这篇文章,相信你对“redis学习之NoSQL是什么意思”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网数据库频道,感谢各位的阅读!

您可能感兴趣的文档:

--结束END--

本文标题: redis学习之NoSQL是什么意思

本文链接: https://www.lsjlt.com/news/54957.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • redis学习之NoSQL是什么意思
    小编给大家分享一下redis学习之NoSQL是什么意思,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1、互联网时代背景下大机遇,为什么用NoSQL1.1单机MySQL的美好年代在90年代,...
    99+
    2022-10-18
  • redis哲学三连是什么意思
    这篇文章主要介绍redis哲学三连是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!redis哲学三连是大家在面试是考官提出的关于redis的三个问题“是什么?为什么?怎么用?...
    99+
    2022-10-18
  • redis是什么意思
    这篇文章主要介绍redis是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Va...
    99+
    2022-10-18
  • php中redis是什么意思
    本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑Redis是Remote Dictionary Server(远程数据服务)的缩写,由意大利人Antirez(Salvatore Sanfilippo)开发的一款内存高...
    99+
    2020-11-20
    php redis
  • redis指的是什么意思
    这篇文章主要介绍了redis指的是什么意思,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。Redis是一个开源的使用ANSI C语言编写、支持网络...
    99+
    2022-10-18
  • redis缓存是什么意思
    这篇文章主要介绍redis缓存是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! Redis缓存是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日...
    99+
    2022-10-18
  • redis推送是什么意思
    redis推送是一种特性,能将数据推到某个信息管道中,然后其它客户端可通过订阅这些管道来获取推送过来的信息,是由使用Redis的Pub/Sub来实现,接收方在某个channel注册为一个订阅者,然后监听这个channel,一旦有消息发到这个...
    99+
    2022-10-16
  • redis热点是什么意思
    Redis热点是指在Redis中频繁访问的数据集或键,也就是被大量读取或写入的数据。由于Redis是基于内存的键值存储系统,热点数据...
    99+
    2023-08-24
    redis
  • redis集群的意思是什么
    redis集群的意思是什么?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Redis集群介绍Redis 集群是一个提供在多个Redis间节点间共...
    99+
    2022-10-18
  • redis error指的是什么意思
    了解redis error指的是什么意思?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!redis error就是redis...
    99+
    2022-10-18
  • Redis持久化是什么意思
    这篇文章给大家分享的是有关Redis持久化是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。演示环境centos7.0 redis4.0 redis存放目录:/usr/lo...
    99+
    2022-10-18
  • Python之禅是什么意思
    这篇文章主要讲解了“Python之禅是什么意思”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python之禅是什么意思”吧!问:说说你了解什么是 Python 之禅?答:Python之禅指的...
    99+
    2023-06-19
  • redis热点数据是什么意思
    这篇文章给大家分享的是有关redis热点数据是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。“这个商品不错,大家来看啊“,每个平台都有会有些大卖的商品,简称为爆品。这些商...
    99+
    2022-10-18
  • redis中的位图是什么意思
    这篇文章将为大家详细讲解有关redis中的位图是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。位图位图,即大量bit组成的一个数据结构(每个bit只能是0和1),...
    99+
    2022-10-19
  • redis异步队列是什么意思
    redis异步队列是指将队列里的东西进行异步处理,异步即是主动请求数据后便可以继续处理其它任务,随后等待IO操作完毕的通知,得到通知之后,再去选择对这些数据做操作。...
    99+
    2022-10-04
  • redis中宕机指的是什么意思
    小编给大家分享一下redis中宕机指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!宕机是计算机术语,口语里面我们简单...
    99+
    2022-10-18
  • redis当中的复制是什么意思
    这篇文章主要讲解了“redis当中的复制是什么意思”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“redis当中的复制是什么意思”吧!在redis中,用户可以...
    99+
    2022-10-18
  • redis持久化机制是什么意思
    redis持久化机制有两种方式:RDB和AOF。RDB指的是用数据集快照的方式半持久化模式记录 redis数据库的所有键值对,在某个时间点将数据写入一个临时文件,持久化结束后,用这个临时文件替换上次持久化的文件,达到数据恢复。AOF指的是所...
    99+
    2022-10-22
  • Redis中的主从复制是什么意思
    本篇内容介绍了“Redis中的主从复制是什么意思”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-18
  • MySQL学习之临时表是什么
    这篇文章给大家分享的是有关MySQL学习之临时表是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。临时表临时表可以分为磁盘临时表和内存临时表,而临时文件,只会存在于磁盘上,不会...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作