IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> NoSQL数据库介绍 -> 正文阅读

[大数据]NoSQL数据库介绍

1、技术发展:
在这里插入图片描述

功能问题好理解,就是对项目进行增删改等操作,我们用基础的Java呀、Jsp啊那些基础技术就能做到,但是当业务发展到后期我们需要进行业务功能升级时则用原生的这些工具不好进行拓展,于是诞生了一系列框架,但是我们的项目必然不是一个人使用,有时是成百万的的用户同时使用,那么我们就需要解决一个东西就是性能问题,于是诞生了这些什么多线程啊MQ啊之类的技术,这就是NoSql类型数据库的一个存在的原因。

NoSql的引入:
web1.0时代:
在这里插入图片描述

在早期web时代,因为没有技术限制,所以导致了这种单体架构的产生。可是发展到后面web2.0时代,我们发现了这种单体架构有点难以承受与日俱增的访问量,这个时代的访问量极具增大,特别是手机端也可以访问网站之后。
在这里插入图片描述

可以看到单体服务器面临了巨大压力。
而这种压力使用nosql数据库可以解决,比如如何解决CPU以及内存压力:
在客户端访问时,我们会对服务器做一个集群或者分布式部署,意思就是我们不会只有一台服务器在运行,而是多台。然后我们在服务器与客户端之间会加上一个东西叫负载均衡或者叫反向代理,比如一般用nginx。有什么用呢?作用就是在我们的客户端进行服务器访问时会先经过Nginx,然后Nginx会帮我们将请求平均分配到各台服务器上。比如客户端一共有四个请求,那么我们的两台服务器则各自处理两个请求。
在这里插入图片描述

但是这种方式也会产生问题,就session存储的问题。比如我们第一次访问在1号服务中存储了session,这个session中一般保存了我们的一些信息,比如登录的用户信息。那我们的第二次请求Nginx又不一定把这个分发到1号服务器,那这样就会产生bug,所以我们需要解决这个问题。
第一种解决方式是存储到客户端的cookie里,但是缺点是不安全。
第二种解决是session复制,意思是如果我们在1号服务器进行了访问,那么将在1号服务器中产生的session对象复制多份到其他的服务器上就可以保持session的同步。但是一样有缺点,就是内存的极大浪费。
第三种解决方式是,使用nosql数据库,我们会将集群中的每台服务器中是session对象存到nosql数据库中,这样就可以实现如果在nosql数据库中有这个session则登录,没有则不予登陆即可。
在这里插入图片描述

详细如下:
在这里插入图片描述

同时使用nosql数据库也可以解决IO压力:
在实际项目中,数据库的使用随着时间的增长会变得越来越复杂,数据越来越多,进行操作效率会越来越低,我们的解决方式是可以对数据库进行水平切分、垂直切分或者读写分离等操作来提高效率,但这样会破坏一定的业务逻辑来换取性能,显然我们是不太能接受的。
此时一种方式是把我们的数据进行专门的存储,如列式存储和文档存储,但这里只做介绍。
我们还有一种方式就是使用nosql数据库做一个缓存,我们可以将我们很多的重复的读写操作放到我们的缓存数据库中,这可以提高我们的效率。
在这里插入图片描述

NoSql数据库
Nosql数据库概述:
在这里插入图片描述

Nosql的使用场景:
在这里插入图片描述

Nosql不适用场景:
在这里插入图片描述

几种场景的nosql数据库:
Memcache(现在用的不多了):
在这里插入图片描述

Redis:
在这里插入图片描述

MongoDB:
在这里插入图片描述

行式存储数据库(大数据时代):
一种是行式存储数据库:
在这里插入图片描述

另一种是列式数据库:
在这里插入图片描述

然后还有一些其他的nosql类型数据库,这里就不一一介绍了。
要记住的还有一点,就是redis数据库现在是非常主流的nosql类型数据库(傲娇)。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-01-14 02:03:13  更:2022-01-14 02:03:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 14:00:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码