当前位置: 首页 > news >正文

NoSQL数据库使用场景以及架构介绍

文章目录

  • 一. 什么是NoSQL?
  • 二. NoSQL分类
  • 三. NoSQL与关系数据库有什么区别
  • 四. NoSQL主要优势和缺点
  • 五. NoSQL体系框架

在这里插入图片描述

其它相关推荐:
系统架构之微服务架构
系统架构设计之微内核架构
鸿蒙操作系统架构
架构设计之大数据架构(Lambda架构、Kappa架构)

所属专栏:系统架构设计师

一. 什么是NoSQL?

NoSQL(Not-onlySQL):不仅仅只是SQL,泛指非关系型的数据库。
在这里插入图片描述

是对关系型数据库的补充和完善,它不使用传统的表格模式,而是使用其他的数据模型来存储数据。NoSQL数据库非常适合处理大规模的非结构化或半结构化数据,具有高可扩展性、高灵活性、高性能、高可用性等特点。常见的NoSQL数据库包括MongoDB、Cassandra、Redis等。


二. NoSQL分类

  1. 键值(key-value)
  • 这种类型的数据库有Redis、Memcached、Tokyo Cabinet/Tyrant、Voldement、Oracle BDB
  • 典型应用场景:内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统等等。
  • 数据模型:key 指向 value 的键值对,通常用hash table来实现。
  • 优点:查找速度快。
  • 缺点:数据无结构化,通常只被当作字符串或者二进制数据。
  1. 列存储数据库
  • 这种类型的数据库有Hbase、Cassandra、Riak
  • 典型应用场景:分布式的文件系统。
  • 数据模型:以列簇式存储,将同一列数据存在一起。
  • 优点:查找速度快,可扩展性强,更容易进行分布式扩展。
  • 缺点:功能相对局限。
  1. 文档型数据库
  • 这种类型的数据库有MongoDB、CouchDB
  • 典型应用场景:Web应用(与key-value类似,value是结构化的,不同的是数据库能够了解value内容)
  • 数据模型:key-value对应的键值对,value为结构化数据。
  • 优点:数据结构要求不严格,表结构可变,不需要像关系型数据库一样预先定义表结构。这种数据库类型按照文档格式(如JSON、XML等)来存储数据,数据之间可以有嵌套关系,具有更好的灵活性,支持各种复杂的数据结构。支持动态模式、可扩展性好、数据结构灵活。
  • 缺点:查询性能不高,而且缺乏统一的查询语法。
  1. 图形数据库(Graph)
  • 这种类型的数据库有Neo4J、InfoGrid、Infinite Graph
  • 典型应用场景:社交网络,推荐系统等。专注于构建关系图谱。
  • 数据模型:图结构。
  • 优点:利用图结构相关算法。比如最短路径寻址,N度关系查找等。
  • 缺点:很多时候需要对整个图做计算才能得出需要的信息,而且这种结构不太好做分布式存的集群方案。

三. NoSQL与关系数据库有什么区别

对比维度关系数据库NoSQL
应用领域面向通用领域 特定应用领域
数据容量有限数据海量数据
数据类型结构化数据(二维表)非结构化数据
并发支持支持并发,但性能低高并发
事务支持高事务性弱事务性
扩展方式向上扩展向外扩展

与关系型数据库相比,NoSQL数据库对数据之间的关系的处理更加灵活,因此可以满足更多种类的应用场景,例如大数据、云计算、分布式存储等。

四. NoSQL主要优势和缺点

主要优势:
(1)避免不必要的复杂性
(2)高吞吐量
(3)高水平扩展能力和低端硬件集群
(4)避免了昂贵的对象-关系映射

缺点:
(1)数据模型和查询语言没有经过数学验证
(2)不支持ACID特性
(3)功能简单
(4)没有统一的查询模型

五. NoSQL体系框架

NoSQL数据库整体框架分为四层,分别为数据持久层(data persistence)、整体分布层(data distribution model)、数据逻辑模型层(data logical model)和接口层(interface),这四层之间是相辅相成,协调工作。

数据持久层定义了数据的存储形式,主要包括基于内存、硬盘、内存与硬盘相结合、订制可插拔四种形式。基于内存形式的数据存取速度最快,但可能会造成数据丢失;基于硬盘的数据可能保存很久,但存取速度较基于内存的形式慢;内存和硬盘相结合的形式,结合了前两种形式的优点,既保证了速度,又保证了数据不丢失;订制可插拔则保证了数据存取具有较高的灵活性。

整体分布层定义了数据是如何分布的,相对于关系型数据库,NoSQL可选的机制比较多,主要有三种形式:一是CAP支持,可用于水平扩展。

数据逻辑模型层定义了数据之间的联系和操作方式,主要包括文档、键值对、图像、列存储等。

接口层定义了与数据访问相关的接口,包括查询、索引、事务、权限等。

在这里插入图片描述

其它相关推荐:
系统架构之微服务架构
系统架构设计之微内核架构
鸿蒙操作系统架构
架构设计之大数据架构(Lambda架构、Kappa架构)

所属专栏:系统架构设计师

相关文章:

NoSQL数据库使用场景以及架构介绍

文章目录 一. 什么是NoSQL?二. NoSQL分类三. NoSQL与关系数据库有什么区别四. NoSQL主要优势和缺点五. NoSQL体系框架 其它相关推荐: 系统架构之微服务架构 系统架构设计之微内核架构 鸿蒙操作系统架构 架构设计之大数据架构(Lambda架构、Kap…...

RFID系统提升物流信息管理效率应用解决方案

一、物流仓储管理方法 1、在仓库的进出口处安装RFID读写器,当粘贴RFID标签的电动叉车和货物进入装载区时,RFID读写器会自动检索并记录信息,当它们离开物流配送中心时,入口处的RFID读写器会读取标签信息,并生成出货单&…...

ONNX的结构与转换

ONNX的结构与转换 1. 背景2. ONNX结构分析与修改工具2.1. ONNX结构分析2.2. ONNX的兼容性问题2.3. 修改ONNX模型 3. 各大深度学习框架如何转换到ONNX?3.1. MXNet转换ONNX3.2. TensorFlow模型转ONNX3.3. PyTorch模型转ONNX3.4. PaddlePaddle模型转ONNX3.4.1. 简介3.4…...

vue3中,使用html2canvas截图包含视频、图片、文字的区域

需求:将页面中指定区域进行截图,区域中包含了图片、文字、视频。 第一步,先安装 npm install html2canvas第二步,在页面引入: import html2canvas from html2canvas;第三步,页面使用: 1&…...

后端神器!代码写完直接调试!

Apipost推出IDEA插件非常省时高效,写完代码直接可以进行调试,而且支持生成接口文档,真是后端神器啊! 可以点击下方链接安装更新或在插件商店中搜索安装 下载链接:https://plugins.jetbrains.com/plugin/22676-apipos…...

MATLAB | 万圣节来画个简单的可爱鬼叭!

万圣节要到啦一起来画个可爱鬼吧~ 代码比较的短: 完整代码 figure(Units,normalized,Position,[.2,.1,.52,.72]); axgca;hold on;axis off; ax.DataAspectRatio[1,1,1]; ax.YDirreverse; ax.XLim[0,100]; ax.YLim[0,100]; [X,Y]meshgrid(linspace(0,1,200)); Zsq…...

贪心算法学习------优势洗牌

目录 一,题目 二,题目接口 三,解题思路和代码 全部代码: 一,题目 给定两个数组nums1和nums2,nums1相对于nums2的优势可以用满足nums1[i]>nums2[i]的索引i的数目来描述。 返回nums1的任意排序,使其优…...

音视频rtsp rtmp gb28181在浏览器上的按需拉流

按需拉流是从客户视角来看待音视频的产品功能,直观,好用,为啥hls flv大行其道也是这个原因,不过上述存在的问题是延迟没法降到实时毫秒级延迟,也不能随心所欲的控制。通过一段时间的努力,结合自己闭环技术栈…...

Java 算法篇-深入了解二分查找法

🔥博客主页: 小扳_-CSDN博客 ❤感谢大家点赞👍收藏⭐评论✍ 目录 1.0 二分查找法的说明 2.0 二分查找实现的多种版本 2.1 二分查找的基础版本 2.2 二分查找的改动版本 2.3 二分查找的平衡版本 2.4 二分查找的官方版本 3.0 二分查找的应用 1…...

Data-Centric Financial Large Language Models

本文是LLM系列文章,针对《Data-Centric Financial Large Language Models》的翻译。 以数据为中心的大语言金融模型 摘要1 引言2 背景3 方法4 实验5 结论和未来工作 摘要 大型语言模型(LLM)有望用于自然语言任务,但在直接应用于…...

【HarmonyOS】服务卡片 API6 JSUI跳转不同页面并携带参数

【关键字】 服务卡片、卡片跳转不同页面、卡片跳转页面携带参数 【写在前面】 本篇文章主要介绍开发服务卡片时,如何实现卡片点击跳转不同页面,并携带动态参数到js页面。在此篇文章“服务卡片 API6 JSUI跳转不同页面”中说明了如果跳转不同页面&#xf…...

SQL server数据库端口访问法

最近数据库连接&#xff0c;也是无意中发现了这个问题&#xff0c;数据库可根据端口来连接 网址:yii666.com< 我用的是sql2014测试的&#xff0c;在安装其他程序是默认安装了sql(sql的tcp/ip端口为xxx)&#xff0c;服务也不相同&#xff0c;但是由于比较不全&#xff0c;我…...

深孔枪钻厂家,科研管理系统思路

序号 名称 参数及技术指标 &#xff08;一&#xff09;系统性能要求 1&#xff0e;系统界面&#xff1a;支持中英文界面自由切换。 2. 系统兼容性&#xff1a;支持主流浏览器&#xff0c;如&#xff1a;IE11 以上、 360 安全浏览器、Firefox、Google Ch…...

【论文阅读笔记】GLM-130B: AN OPEN BILINGUAL PRE-TRAINEDMODEL

Glm-130b:开放式双语预训练模型 摘要 我们介绍了GLM-130B&#xff0c;一个具有1300亿个参数的双语(英语和汉语)预训练语言模型。这是一个至少与GPT-3(达芬奇)一样好的100b规模模型的开源尝试&#xff0c;并揭示了如何成功地对这种规模的模型进行预训练。在这一过程中&#xff0…...

Object常用方法

Object常用方法目录 1. equals(Object obj)&#xff1a; 2. toString()&#xff1a; 3. hashCode()&#xff1a; 4. getClass()&#xff1a; 5. notify() 和 notifyAll()&#xff1a; 6. wait() 和 wait(long timeout)&#xff1a; 7. clone()&#xff1a; 8. fina…...

【VR开发】【Unity】【VRTK】2-关于VR的基础知识

【概述】 在VRTK的实操讲解之前&#xff0c;本篇先介绍几个重要的VR认识。 【VR对各个行业的颠覆】 如果互联网几乎把所有行业都重做了一遍&#xff0c;VR在接下来的几年很可能再把现有的行业都重做一遍&#xff0c;包括但不限于教育&#xff0c;房地产&#xff0c;零售&…...

jeecg-uniapp 转成小程序的过程 以及报错 uniapp点击事件

uniapp 点击事件 tap: 单击事件 confirm: 回车事件 blur:失去焦点事件 touchstart: 触摸开始事件 touchmove: 触摸移动事件。 touchend: 触摸结束事件。 longpress: 长按事件。 input: 输入框内容变化事件。 change: 表单元素值变化事件。 submit: 表单提交事件。 scroll: 滚动…...

Django的静态文件目录(路径)如何配置?

通常用下面的三条语句配置Django的静态文件目录 STATICFILES_DIRS [os.path.join(BASE_DIR, static)] STATIC_URL /static/ STATIC_ROOT os.path.join(BASE_DIR, /static)那么这三条语句分别的作用是什么呢&#xff1f; 请参考博文 https://blog.csdn.net/wenhao_ir/articl…...

函数应用(MySQL)

--数值类函数 --绝对值 select abs(-1) --seiling ceil 向上取整 select ceil(1.1) --floor 向下取整 select floor(1.9); --四舍五入 select round(1.17, 1); --rand 随机数 select rand(rand()*1000); --字符串函数 utf8mb3 utfmb4 select length(小三) --查找字符数…...

数据分析过程中,发现数值缺失,怎么办?

按照数据缺失机制&#xff0c;数据分析过程中&#xff0c;我们可以将其分为以下几类&#xff1a; &#xff08;1&#xff09;完全随机缺失&#xff08;MCAR&#xff09;&#xff1a;所缺失的数据发生的概率既与已观察到的数据无关&#xff0c;也与未观察到的数据无关。 &#x…...

如何永久解锁加密文档?3步破解科学文库时间限制与功能封锁

如何永久解锁加密文档&#xff1f;3步破解科学文库时间限制与功能封锁 【免费下载链接】ScienceDecrypting 破解CAJViewer带有效期的文档&#xff0c;支持破解科学文库、标准全文数据库下载的文档。无损破解&#xff0c;保留文字和目录&#xff0c;解除有效期限制。 项目地址…...

深圳SEO公司为什么要定期优化网站

深圳SEO公司为什么要定期优化网站 在当今数字化时代&#xff0c;拥有一个优秀的网站已经不再足以满足企业的需求。随着互联网市场的竞争日益激烈&#xff0c;深圳SEO公司认识到定期优化网站的重要性&#xff0c;并将其作为持续提升网站流量和业务发展的核心策略之一。为什么深…...

从零上手!用 Python+OpenCV 实现 LBPH 人脸识别,小白也能跑通

一、写在前面&#xff1a;人脸识别到底是什么&#xff1f;你有没有好奇过&#xff0c;手机的人脸解锁、门禁的刷脸开门&#xff0c;到底是怎么认出你的&#xff1f;其实核心逻辑很简单&#xff1a;先 “记住” 人脸&#xff1a;把你的多张照片喂给算法&#xff0c;让它学习你的…...

5分钟搞定:造相-Z-Image-Turbo亚洲美女LoRA服务搭建与测试

5分钟搞定&#xff1a;造相-Z-Image-Turbo亚洲美女LoRA服务搭建与测试 1. 项目概述 造相-Z-Image-Turbo亚洲美女LoRA是一个基于Z-Image-Turbo模型的图片生成Web服务&#xff0c;特别集成了laonansheng开发的Asian-beauty-Z-Image-Turbo-Tongyi-MAI-v1.0 LoRA模型&#xff0c;…...

如何判断便宜的SEO优化公司是否靠谱_如何在保证质量的前提下找到便宜的SEO优化

如何判断便宜的SEO优化公司是否靠谱_如何在保证质量的前提下找到便宜的SEO优化 在当今竞争激烈的商业环境中&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;已经成为提高网站流量和品牌知名度的关键手段。随着越来越多的公司进入SEO市场&#xff0c;如何判断便宜的SEO优…...

LeaguePrank:英雄联盟段位修改与个性化展示完全指南

LeaguePrank&#xff1a;英雄联盟段位修改与个性化展示完全指南 【免费下载链接】LeaguePrank 项目地址: https://gitcode.com/gh_mirrors/le/LeaguePrank 想要在英雄联盟客户端中展示与众不同的段位和个性化信息吗&#xff1f;LeaguePrank 正是你需要的工具。这款开源…...

18年产品经理生涯精华:从交付到规划,项目管理、解决方案、业务理解深度解析!

本期访谈只有1位老师&#xff0c;大海老师&#xff0c;18年工作经验&#xff0c;从干交付&#xff0c;到项目管理&#xff0c;再到资深技术专家、解决方案专家&#xff0c;目前做的更多的是业务规划、产品规划&#xff0c;是从一线实战走到真正的专家层面&#xff0c;老师分享的…...

文脉定序保姆级教程:3步完成BGE-Reranker-v2-m3镜像免配置部署

文脉定序保姆级教程&#xff1a;3步完成BGE-Reranker-v2-m3镜像免配置部署 你是否遇到过这样的烦恼&#xff1f;用自己搭建的知识库或者搜索引擎提问&#xff0c;系统确实返回了一大堆结果&#xff0c;但最相关、最准确的答案却淹没在列表的中间甚至末尾。传统的检索方法&…...

Spring_couplet_generation 模型推理性能优化:操作系统级调优指南

Spring_couplet_generation 模型推理性能优化&#xff1a;操作系统级调优指南 想让你的春联生成模型跑得更快、更稳吗&#xff1f;很多朋友在部署AI模型时&#xff0c;往往只关注模型本身和代码&#xff0c;却忽略了承载这一切的“地基”——操作系统。今天&#xff0c;我们就…...

FLUX.1-dev像素模型部署教程:Docker Compose编排前端+后端+模型服务

FLUX.1-dev像素模型部署教程&#xff1a;Docker Compose编排前端后端模型服务 1. 项目概述 像素幻梦(Pixel Dream Workshop)是基于FLUX.1-dev扩散模型构建的像素艺术生成平台&#xff0c;采用16-bit像素风格设计&#xff0c;为创作者提供沉浸式的AI绘图体验。本教程将指导您使…...