0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是NoSQL?NoSQL数据库的使用场景和架构介绍

马哥Linux运维 来源:CSDN技术社区 2023-11-09 11:01 次阅读

一、什么是NoSQL

NoSQL,全称为Not Only SQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。

NoSQL用于超大规模数据的存储,针对非结构化数据、半结构化数据具有很好的支持。NoSQL的特点在于其不仅仅是SQL,没有声明性查询语言,没有预定义的模式,采用键-值对存储、列存储、文档存储、图形数据库,最终一致性而非ACID属性,可以支持非结构化和不可预知的数据。

NoSQL的产生是为了解决大规模数据集合多重数据种类带来的挑战,特别是大数据应用难题。其优点在于高可拓展性、分布式计算、低成本和架构的灵活性,而缺点在于没有标准化,查询功能有限,最终一致性可能不直观(CAP定理),以及关联产品的选择可能有限(根据CAP定理衍生)。

二、NoSQL数据库使用场景

NoSQL数据库的使用场景主要针对非结构化数据或半结构化数据的处理。例如,键值(Key-Value)数据库可以用于存储用户信息,如会话、配置文件、参数、购物车等等。此外,对于网页或复杂对象的存储,以及处理复杂的数据结构等场景,NoSQL数据库也可以发挥出其优势。

NoSQL数据库具有高可拓展性、分布式计算、低成本和架构灵活性等优点,但也存在一些挑战。例如,它们通常缺乏标准化的查询语言,查询功能有限,最终一致性可能不直观,以及关联产品的选择可能有限。

因此,在选择使用NoSQL数据库时,需要根据具体的应用场景和需求进行评估和选择。

0268db90-7eab-11ee-939d-92fbcf53809c.png

三、NoSQL数据库架构

NoSQL数据库的架构通常包括数据存储工具、数据管理工具和数据查询工具。

数据存储工具:用于将数据存储或映射为表格形式,例如键值(Key-Value)数据库和文档(Document)数据库等。

数据管理工具:对数据“库”、“表”或类似的概念进行管理,对存储的数据进行管理,对数据的性能和可靠性等进行管理,对分布式系统进行管理,对系统的配置方式、运行状态等进行管理。

数据查询工具:快速查询海量数据,提供易用的客户访问接口,但一般无法进行过于复杂的查询,或查询性能极低。

此外,NoSQL数据库通常可以在分布式系统中存储数据,通过并行处理提高数据查询和处理效率,因此进行数据分片,使用布隆过滤器等。在系统可伸缩方面,NoSQL数据库通常具有横向扩展、移除或更换的功能。

四、NoSQL和关系型数据的区别

NoSQL和关系型数据库的区别主要体现在以下方面:

存储方式:关系型数据库采用表格式存储数据,而NoSQL数据库则支持多种存储方式,包括文档、键值对、图结构等。

存储规范:关系型数据库强调数据的规范性,避免重复,而NoSQL数据库则鼓励冗余,以实现数据的灵活性和可扩展性。

扩展方式:关系型数据库主要通过提升硬件配置等向上扩展方式来提升性能,而NoSQL数据库则采用分布式架构,通过增加数据库节点向外扩展,以实现更好的可伸缩性。

查询方式:关系型数据库采用结构化查询语言(SQL)进行查询,而NoSQL数据库则支持非结构化查询语言,以适应多样化的数据结构和查询需求。

事务支持:关系型数据库支持事务处理,以保证数据的一致性和完整性,而NoSQL数据库则一般不支持事务一致性。

性能:关系型数据库在读写性能上通常优于NoSQL数据库,特别是在处理规范化的数据时。然而,NoSQL数据库在处理大规模数据和高并发请求时,通常具有更好的性能。

成本:关系型数据库通常具有较高的成本,因为它们需要高端的硬件和专业的技术支持。相比之下,NoSQL数据库具有简单易部署、开源和成本低的优势。

数据存储位置:关系型数据库的数据主要存储在磁盘中,而NoSQL数据库的数据主要存储在内存中(部分可以持久化到磁盘)。

建表原则:关系型数据库建立在关系模型基础上的数据库,依靠表、字段等关系模型以列或字段构建关联,而NoSQL数据模型比较简单,用Key-Value的形式来存储数据。

并发支持:关系型数据库通过事务和锁来支持并发,高并发情况下执行效率较低。相比之下,NoSQL打破了传统关系型数据库范式的约束和事务一致性,因此并发性能高。

综上所述,NoSQL和关系型数据库各有优缺点,需要根据具体的应用场景和需求进行选择。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接口
    +关注

    关注

    33

    文章

    8494

    浏览量

    150815
  • SQL
    SQL
    +关注

    关注

    1

    文章

    759

    浏览量

    44063
  • 数据库
    +关注

    关注

    7

    文章

    3761

    浏览量

    64272
  • nosql
    +关注

    关注

    0

    文章

    39

    浏览量

    9989

原文标题:NoSQL数据库使用场景以及架构介绍

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【2018开年知识盛会】15位大咖直播分享,全方位解析NoSQL数据库

    如何助力游戏类应用场景;3.云数据库Redis未来发展方向。高级开发工程师 午光演讲嘉宾:午光 阿里云高级开发工程师直播主题:云数据库Redis读写分离介绍直播时间:1月19日17:0
    发表于 01-15 14:53

    再谈全局网HBase八大应用场景

    摘要: HBase可以说是一个数据库,也可以说是一个存储。拥有双重属性的HBase天生就具备广阔的应用场景。在2.0中,引入了OffHeap降低了延迟,可以满足在线的需求。引入MOB,可以存储10M
    发表于 04-11 11:14

    SQL与NoSQL数据库入门基础知识详解

    。扯的稍微多了点,后面在给家分享DKHadoop的安装以及使用,今天想给大家分享的是大数据基础内容中的数据库:SQL与NOSQL。理解这两种数据,只需要搞清楚二者的概念以及有何不同即可
    发表于 12-19 13:56

    NoSQL数据库的类别

    NoSQL数据库的四大分类
    发表于 09-12 07:22

    Nosql定义

    非关系数据库世界的终极向导------------------------------------------------------------------------------------------------------------------Nosql定义:下
    发表于 08-20 06:31

    NoSQL数据库类型

    有四大NoSQL类型:键值存储(key-value store),文件存储(document store),列导向的数据库(Column-Oriented Database)和图形数据库(graph
    发表于 10-12 17:24 2次下载
    <b class='flag-5'>NoSQL</b><b class='flag-5'>数据库</b>类型

    NoSQL数据库数据交换代价研究

    随着互联网时代的到来,IT行业迅猛发展,NoSQL数据库以其在大数据环境下出色的业务处理处理能力,在IT行业内得到越来越广泛的应用。而各NoSQI。数据库由于自身
    发表于 12-06 11:07 0次下载
    <b class='flag-5'>NoSQL</b><b class='flag-5'>数据库</b>间<b class='flag-5'>数据</b>交换代价研究

    数据代理引擎中使用Xilinx FPGA加速Cassandra NoSQL数据库

    在本演示中,rENIAC说明了在rENIAC的数据代理引擎中使用Xilinx FPGA来加速Cassandra NoSQL数据库,无需进行任何软件更改。 rENIAC的分布式数据
    的头像 发表于 11-29 06:05 2430次阅读

    2018年阿里云NoSQL数据库大事盘点

    和发展,NoSQL在面临大数据场景下相对于关系型数据库运用,这一概念无疑是一种全新思维的注入。正值2018年底之际,让我们来看看NoSQL
    发表于 12-26 15:08 366次阅读

    面向NoSQL数据库的JSON文档异常检测模型

    随着信息化技术的发展,面对材料等相关领堿数据的多源异枃、扩展性强、爆炸増长等特点,传统关系数据库无法对数据进行存储,因此可利用 NOSQL的无模式存储、高扩展性等特性来解决这一难题。作
    发表于 04-13 15:30 20次下载
    面向<b class='flag-5'>NoSQL</b><b class='flag-5'>数据库</b>的JSON文档异常检测模型

    用于openharmony的轻量级、简单的结构化NoSQL数据库

    用于openharmony的轻量级、简单的结构化 NoSQL 数据库。 下载 依赖项{ 实现“io.openharmony.tpc.thirdlib:ohos-NoSql:1.0.0” } 将
    发表于 04-13 10:05 2次下载

    什么是 NoSQL数据库?为什么要使用NoSQL数据库

    列式数据库基于表存储,但没有严格的列格式。列式数据库不要求每一列都有值,而且可以组合包含不同数据格式的行段和列段。
    发表于 03-15 11:34 1162次阅读

    NoSQL数据库的四种类型

    在本文中,我们将简要介绍NoSQL数据库的四种类型。
    的头像 发表于 04-25 17:21 4276次阅读

    NoSQL 数据库如何选型

    什么是NoSQL数据库?为什么要使用NoSQL数据库?键值数据库内存键值数据库文档
    的头像 发表于 11-26 08:05 443次阅读
    <b class='flag-5'>NoSQL</b> <b class='flag-5'>数据库</b>如何选型

    SQL与NoSQL的区别

    在信息技术领域,数据库是存储和管理数据的核心组件。随着互联网的发展和大数据时代的到来,对数据库的需求也在不断变化。SQL和NoSQL作为两种
    的头像 发表于 11-19 10:15 82次阅读