什么是 NoSQL 数据库、NoSQL 与 SQL 的区别

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

NoSQL 数据库是针对可扩展性能和无架构数据模型进行了优化的非关系数据库。

NoSQL 数据库也因其易于开发、延迟低且具有弹性而得到广泛认可。

此类数据库可使用各种数据模型,包括列式、文档、图形和内存键值存储。

 

 

NoSQL 数据库如何运作?

NoSQL 数据库系统可使用各种模型进行数据管理,例如内存键值存储、图形数据模型和文档存储。

此类数据库针对需要大数据量、低延迟和灵活数据模型的应用程序进行了优化,

这是通过放松传统关系数据库的一些数据一致性限制实现的。

 

为何使用 NoSQL 数据库?

NoSQL 数据库非常适合许多大数据、移动和 Web 应用程序,

因为传统关系数据库的可扩展性和响应能力无法满足其需求。

由于数据结构更简单且可水平扩展,NoSQL 数据库通常比关系数据库响应速度更快且更易扩展。

 

SQL 与 NoSQL 数据库比较

关系数据库管理系统 (RDBMS) 和非关系 (NoSQL) 数据库各有优劣。

在 RDBMS 中,您可以灵活查询数据,但查询成本相对较高,并且在高流量的情况下无法有效扩展。

在 NoSQL 数据库中,您只能通过几种方式有效查询数据,否则查询成本高且速度慢。

 

 

 关系数据库NoSQL 数据库
数据模型关系模型可将数据标准化为由行和列组成的表。采用一种架构来严格定义表、行、列、索引、各个表之间的关系及其他数据库元素。NoSQL 数据库一般不会实施架构。一般使用分区键来检索值、列集或半结构化 JSON、XML 或其他包含相关项目属性的文档。
ACID 属性传统的 RDBMS 支持关系数据库的 ACID 属性:原子性、一致性、隔离性和持久性。原子性表示“全有或全无”,即完全执行或完全不执行某项事务。一致性表示事务提交之后,数据必须符合数据库架构。隔离性要求并发事务应分别执行,互不干扰。持久性即能够从意外系统故障或断电情况中恢复到上一个已知状态。为了获得更为灵活且可水平扩展的数据模型,NoSQL 数据库通常会放弃传统 RDBMS 的部分 ACID 属性。凭借这些特性,当传统的 RDBMS 遇到架构方面的挑战时,NoSQL 数据库便成了最佳选择,可用来克服一系列问题,包括性能瓶颈、可扩展性、运营复杂性和不断增加的管理和支持成本。
性能性能一般取决于磁盘子系统。要获得最佳性能,就需要优化查询、索引和表结构。性能通常由底层硬件集群大小、网络延迟以及调用应用程序来决定。
扩展进行纵向扩展最简单的方式是利用运行更快的硬件。您需要追加投资才能获得跨分布式系统的关系表。旨在利用低成本硬件的分布式群集进行横向扩展,从而在不增加延迟的前提下提高吞吐量。
API存储和检索数据的请求由符合结构化查询语言 (SQL) 的查询来传达。这些查询由 RDBMS 解析和执行。借助基于对象的 API,应用程序开发人员可以轻松存储和检索内存数据结构。通过分区键,应用程序可以查找键值对、列集或包含序列化应用程序对象和属性的半结构化文档。
工具SQL 数据库一般会提供一组丰富的工具,用于简化数据库驱动型应用程序的开发流程。而 NoSQL 数据库一般会提供多种工具来管理集群和扩展。应用程序是底层数据的主要接口。

 

 



NoSQL 数据库的不同类型

有四种常见的 NoSQL 数据库类型:列式、文档、图形和内存键值。

通常,这些数据库在存储、访问和结构化数据的方式上有所差异,但都针对不同的使用案例和应用程序进行了优化。 
 

  1. 列式数据库针对读取和写入数据列(而不是数据行)进行了优化。适用于数据库表的列式存储是分析查询性能的一大要素,因为它极大地降低了整体磁盘 I/O 要求,并减少了您需要从磁盘加载的数据量。
  2. 文档数据库旨在将半结构化数据存储为文档,通常采用 JSON 或 XML 格式。与传统关系数据库不同的是,每个 NoSQL 文档的架构是不同的,可让您更加灵活地整理和存储应用程序数据并减少可选值所需的存储。
  3. 图形数据库可存储顶点以及称为边缘的直接链路。图形数据库可以在 SQL 和 NoSQL 数据库上构建。顶点和边缘可以拥有各自的相关属性。
  4. 内存键值存储是针对读取密集型应用程序工作负载(例如社交网络、游戏、媒体共享和 Q&A 门户)或计算密集型工作负载(例如推荐引擎)进行了优化的 NoSQL 数据库。内存缓存可将重要数据存储在内存中以实现低延迟访问,从而提高应用程序性能。
 

 

 

SQL 与 NoSQL 术语比较

SQLMongoDB (NoSQL)DynamoDB (NoSQL)Cassandra (NoSQL)Couchbase (NoSQL)
集合数据存储桶
文档项目文档
字段属性字段
主键对象 ID主键主键文档 ID
索引索引二级索引索引索引
视图视图全局二级索引具体化视图视图
嵌套表或对象嵌入文档映射映射映射
数组数组列表列表列表

 

转自:

https://aws.amazon.com/cn/nosql/?nc1=f_cc

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/449218.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql 索引的统计

查看一个库里面没有使用过的索引select object_type,object_schema,object_name,index_name,count_star,count_read,COUNT_FETCH from performance_schema.table_io_waits_summary_by_index_usage where object_schemabocat and count_star0 and count_read0and object_name no…

2020-3-29

题目一&#xff1a; JavaScript 获取div在页面中坐标 以div为例&#xff0c;获取一个元素在页面中的位置。 代码和 <!DOCTYPE html> <html> <head> <meta charset" utf-8"> <style type"text/css"> *{padding:0px;margin:0…

Java缓存浅析

拿破仑说&#xff1a;胜利属于坚持到最后的人。 而正巧&#xff0c;咱们今天就是要聊一个&#xff0c;关于怎么让系统在狂轰乱炸甚至泰山压顶的情况下&#xff0c;都屹立不倒并坚持到最后的话题——缓存。 Victory belongs to the most persevering. — Napoleon Bonaparte, Fr…

六个月学会一门语言

大多数人都会将学习第二语言&#xff08;或第三第四语言&#xff09;列为他们首先要完成的人生必做事情。但是&#xff0c;作为一个成人&#xff0c;怎样才能快速有效地学习新语言呢&#xff1f; Chris Lonsdale是一名来自新西兰的心理学家&#xff0c;他在香港开了一家公司。他…

Cookie 解说(分类、用途、缺陷、功能 ...)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 Cookie&#xff08;复数形态Cookies&#xff09;&#xff0c;中文名称为“小型文本文件”或“小甜饼”&#xff0c;指某些网站为了辨别用…

需求规格说明书1.0

1.引言 1.1目的 该文档是关于我们组的记事本安卓APP和网页版本的功能和性能的描述&#xff0c;重点描述了系统的功能需求&#xff0c;并作为系统设计的主要输入。 本文档的预期读者包括&#xff1a;需求分析人员&#xff0c;设计人员&#xff0c;开发人员&#xff0c;项目管理人…

2020-3-30

题目一&#xff1a; JavaScript 将数组原有的顺序打乱 function le(){ //创建一个函数作为sort()函数的参数。return 0.5-Math.random(); //返回一个数字可能大于零也可能小于零&#xff0c;这样就可以实现随机排序功能&#xff0c; } var arr[]; //声明一个空数组。for(var i…

vuecli3+webpack4优化实践(删除console.log和配置dllPlugin)

本文主要介绍如何在vuecli3生成的项目中&#xff0c;打包输出时删除console.log和使用dllplugin&#xff0c;并记录了配置过程中踩到的坑。 &#xff08;本人水平有限&#xff5e;希望大家多多指出有误的地方&#xff09; 一、生产环境中删除console.log 在开发代码中写的conso…

伤肾的九个恶习及解决办法(图)

近年来&#xff0c;很多人都在通过各种药物保护肾脏&#xff0c;其实&#xff0c;在生活中形成的各种不良饮食和生活习惯在不停地伤害你的肾&#xff0c;只是你未曾注意到而已。所以要保护好你的肾脏&#xff0c;必须从改变不良饮食和生活习惯开始。 不爱喝水 大部分男人对喝…

CC-BY-NC-SA (创作共用许可协议)

创作共用许可协议 &#xff08;英语&#xff1a;Creative Commons license&#xff0c;简称CC许可&#xff09; 是一种公共版权许可协议&#xff0c;其允许分发受版权保护的作品。一个创作共用许可&#xff0c;用于一个作者想给他人分享、使用、甚至创作派生作品的权利。创作共…

2020-3-31

题目一&#xff1a; 评论敏感词过滤代码&#xff0c;很多时候需要对一些评论或者文章中的敏感词进行过滤。 <!DOCTYPE html> <html> <head> <meta charset"utf-8"> </head> <script type"text/javascript"> window.o…

快速通读《现代软件工程——构建之法》

在快速通读《现代软件工程——构建之法》后&#xff0c;我有如下问题&#xff1a;Q1&#xff1a;第一章通过形象的例子告诉我们什么是软件工程&#xff0c;介绍了软件工程的各个阶段&#xff0c;对软件工程的概念及它的特性做了较为生动而详细的介绍&#xff0c;那么为什么需要…

Java 对象的序列化和反序列化

一.序列化和反序列化的概念 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 把对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为对象的过程称为对象的反序列化。 对象的序列…

不可重入锁和可重入锁

不可重入锁也叫自旋锁 指当一个方法调用了锁之后&#xff0c;如持有本锁的另一个方法也想执行&#xff0c;将会进入等待。那么想要使用这个方法必须先释放锁方可调用 public class Lock{private boolean isLocked false;public synchronized void lock() throws InterruptedEx…

家长必看 父母须知孩子社交圈九要点(组图)

孩子在慢慢的长大&#xff0c;总要接触外面的环境、接触到更多的人&#xff0c;也需要自己的社交圈。那么孩子的社交圈父母要知道9点。 1、妈妈是第一个“好朋友” 孩子社交的第一步从出生就开始了。虽然小小的他躺在那里还不能说话&#xff0c;但是通过哭、目光接触、笑等表…

2020-4-1

题目一 页面加载图片的时候&#xff0c;可能由于各种原因导致加载失败。 为了页面的人性化&#xff0c;在失败的时候通常会使用一张给定的图片替代。 <img src"logo.gif" onerror"javascript:this.srcdefault.gif" > //上面代码本来要加载logo.gif…

NGINX 配置超时时间

一、啥时候用到 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 用来设置请求资源和服务器返回的时间&#xff0c;保证一个请求占用固定时间&#xff0c;超出后报504超时&#xff01;这…

kettle变量(param命名参数)

1、定义&#xff1a; 编辑-设置-命名参数 在当前界面下定义参数名称和缺省值。 2、引用&#xff1a;原始数据 通过${var}引用变量 输出 注&#xff1a;1、字符串在命名参数引用是需要添加单引号的&#xff0c;但位置参数是不需要进行转译&#xff1b; 2、引用变量时需要勾选替换…

Excel操作

区间范围计算 方法一:用IF函数 方法二:构建一个辅助区域&#xff0c;用VLOOKUP函数 方法一:用IF函数 在F3中输入:IF(E3>90%,5%,IF(E3>80%,4%,IF(E3>70%,3%,IF(E3>60%,2%,1%)))) 向下拖动,搞定。 示例&#xff1a; IF(BB2<0.5,"50及以下",IF(AND(BB2&g…

养心灵,才能美容颜,拥有好日子(图)

“养心&#xff0c;就是在养颜”&#xff0c;说得多好啊。我们的脸是不会说谎的镜子&#xff0c;即使再巧妙的掩饰&#xff0c;也会在脸上显露出蛛丝马迹。 一个尖刻的人&#xff0c;嘴角的纹路必然多而杂;一个工于心计的人&#xff0c;脸色必定是阴沉暗淡的;一个无知的人&…