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

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

3天内不再提示

NoSQL数据库的四种类型

深圳市恒讯科技有限公司 来源:深圳市恒讯科技有限公司 作者:深圳市恒讯科技有 2023-04-25 17:21 次阅读

在本文中,我们将简要介绍NoSQL数据库的四种类型。

什么是NoSQL数据库?一般而言,以不同于关系数据库的格式存储数据的数据库被称为NoSQL数据库。NoSQL代表“不仅是 SQL”,它涉及这样一个事实,即数据库可以完全使用“无SQL”来存储和管理数据,或者它可以结合使用新方法(NoSQL)的灵活性和传统关系系统(SQL)的强大功能。

NoSQL数据存储有哪些不同类型?NoSQL数据库可以分为四种类型:

一、键值(KV)商店

这是最简单的NoSQL数据库类型。在这种类型下,数据以键/值对的形式存储。对于每个键,都有一个分配给它的值。每个Key都是唯一的,只接受字符串,而对应于特定Key的值可以接受String、JSON、XML等。由于这种行为,它能够处理海量数据。

键值存储将数据维护为由索引键和值组成的对。KV使用索引Key存储查询值。数据库中的每个项目都存储在键(索引)和值对中。KV存储类似于关系数据库,但每个表只有两列。

一些KV存储甚至可能允许基本连接来帮助我们扫描,如果有复合连接,它们可能不是合适的选择。有多个KV Stores可用,每个KV Stores的主要区别在于它们对CAP定理的适应以及它们的内存v/s存储使用配置。KV存储具有快速查询性能,最适合需要内容缓存的应用程序,例如不断更新前 10 名得分和玩家的游戏网站。

1、特点:一致性;交易;查询特征;数据结构和缩放。

2、优点:简单数据模型;可扩展;值可以包括JSON、XML、灵活的模式;;由于它的简单性,速度极快;最适合数据不高度相关的情况。

3、缺点:没有关系,创建自己的外键;不适合复杂数据;缺乏扫描功能;不适合操作而不是CRUD(创建、读取、更新、删除)

二、文档存储

文档存储是键值存储简单性的扩展,其中值存储在结构化文档(如 XML或JSON)中。文档存储使得在面向对象软件中映射对象变得容易。

文档数据库是无模式的,我们不必事先定义模式并遵守它。它允许我们以文档格式(JSON、XML等)存储复杂数据。文档数据库不支持关系。文档存储中的每个文档都是独立的,没有关系完整性。

文档存储可以用于KV存储数据库的所有用例,但它还有额外的优点,比如没有仅通过键查询的限制,甚至可以查询文档中的属性,而且每个文档中的数据可以在不同的格式。例如,一个产品评论网站,零个或多个用户可以评论每个产品,每个评论都可以被其他用户评论,零个到多个用户可以喜欢或不喜欢。

例如,一个产品评论网站,零个或多个用户可以对每个产品进行评论,每个评论都可以被其他用户评论,并且可以被零个或多个用户喜欢或不喜欢。

1、特点:更快的查询;由于其结构,可以轻松处理大量数据;灵活的索引。

2、优点:简单而强大的数据模型;可扩展;开放格式;没有外键。

3、缺点:不适用于关系数据;查询仅限于键和索引;Map Reduce 用于更重要的查询

三、列族数据存储或宽列数据存储

宽列数据存储采用混合方法,将关系数据库的声明性特征游戏与基于键值对且完全可变的键值存储模式相结合。宽列数据库将数据表存储为数据列的部分而不是数据行。列族数据库将列族中的数据存储为具有许多与行键关联的列的行。列族是一组经常一起访问的相关数据。

1、特点:多维密钥存储;本质上是持久的;分散式;高灵活性。

2、优点:支持半结构化数据;自然索引;可扩展。

3、缺点:不适用于关系数据。

四、图数据库

图数据库的特定用途是存储面向图的数据结构。图数据库是任何提供无索引邻接的存储系统。这意味着每个节点都包含一个指向其相邻元素的直接指针,并且不需要进行索引查找。随着节点数量的增加,一跳的成本保持不变。

图数据库针对遍历连接数据进行了优化,例如遍历社交网络上的联系人列表以找出连接程度。图数据库通常带有灵活的数据模型,这意味着不需要定义边和顶点的类型。

1、特点:灵活性;敏捷;提高性能,即使有大量数据。

2、优点:极其强大;连接的数据在本地索引;可以提供酸;实时结果;敏捷结构。

3、缺点:难以横向扩展,但可以纵向扩展。

总结:NoSQL数据库的四种类型分别为键值 (KV) 存储、文档存储、列族数据存储和图形数据库。

审核编辑:汤梓红

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

    关注

    1

    文章

    738

    浏览量

    43462
  • 数据库
    +关注

    关注

    7

    文章

    3591

    浏览量

    63371
  • nosql
    +关注

    关注

    0

    文章

    38

    浏览量

    9924
收藏 人收藏

    评论

    相关推荐

    通过Modbus读写数据库中的数据

    本文是将数据库数据转为Modbus服务端/从站,实现数据库内的数据也可以走Modbus协议通过网口或串口读写的案例,下图是通过智能网关的参数软件(在附件中)配置的参数: 上图中的配置
    发表于 03-14 13:44

    轻量级数据库有哪些类型

    轻量级数据库是指具有小巧、灵活、高效的特点,适用于小规模项目和嵌入式设备的数据库管理系统。下面是对轻量级数据库类型的详细介绍,包括关系型数据库
    的头像 发表于 12-20 11:29 600次阅读

    使用关系数据库中的半结构化数据

    NoSQL革命已经进入了关系世界。您可能正在使用关系数据库,但仍必须查询和理解隐藏在文本列、JSON或 XML文档中的半结构化数据
    的头像 发表于 12-20 10:46 270次阅读
    使用关系<b class='flag-5'>数据库</b>中的半结构化<b class='flag-5'>数据</b>

    关于JSON数据库

    如何理解JSON数据库?作为NoSQL数据库的一种类型,JSON数据库有哪些优势呢?JSON数据库
    的头像 发表于 12-06 13:46 427次阅读
    关于JSON<b class='flag-5'>数据库</b>

    什么是JSON数据库

    如何理解JSON数据库?作为NoSQL数据库的一种类型,JSON数据库有哪些优势呢?JSON数据库
    的头像 发表于 12-02 08:04 374次阅读
    什么是JSON<b class='flag-5'>数据库</b>

    NoSQL 数据库如何选型

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

    数据库的clob类型如何导入和导出

    数据库的CLOB类型(Character Large Object)是用来存储大量字符数据的字段类型。它可以存储最大长度为4GB的字符数据
    的头像 发表于 11-21 10:51 2095次阅读

    数据库clob类型的字段怎么取

    数据库中的 CLOB(Character Large Object)类型字段存储的是大量的字符数据,如文本文件、XML 文件、图像等。要获取 CLOB 类型字段的值,可以使用以
    的头像 发表于 11-21 10:47 1096次阅读

    元件数据库

    软件可以识别设备的元件数据库就好了,我们公司的机器数据都是用物料编码建立的
    发表于 11-16 14:39

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

    NoSQL,全称为Not Only SQL,指的是非关系型的数据库NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库
    的头像 发表于 11-09 11:01 990次阅读
    什么是<b class='flag-5'>NoSQL</b>?<b class='flag-5'>NoSQL</b><b class='flag-5'>数据库</b>的使用场景和架构介绍

    四种类型的MOSFET的主要区别

    型晶体管,它属于电压控制型半导体器件。根据导电沟道类型和栅极驱动电压的不同,可以分为N沟道-增强型MOSFET、N沟道-耗尽型MOSFET、P沟道-增强型MOSFET、P沟道-耗尽型MOSFET四种类型
    的头像 发表于 11-07 14:51 817次阅读
    <b class='flag-5'>四种类型</b>的MOSFET的主要区别

    如何在HarmonyOS对数据库进行备份,恢复与加密

    数据库备份与恢复 场景介绍 当应用在处理一项重要的操作,显然是不能被打断的。例如:写入多个表关联的事务。此时,每个表的写入都是单独的,但是表与表之间的事务关联性不能被分割。 如果操作的过程中
    发表于 11-07 08:57

    数据类型(2)#数据库技术

    数据库
    未来加油dz
    发布于 :2023年07月11日 15:42:44

    数据类型(1)#数据库技术

    数据库
    未来加油dz
    发布于 :2023年07月11日 15:42:02

    ESP8266 AP &amp; STA如何在数据库中标记日期和时间?

    你好 !我想连接服务器以获取时间和日期,并在数据库上标记我的 ESP8266 的每次使用我需要你的帮助来获得一个脚本,让我连接到 wifi 服务器,在连接到 NOSQL 之后给出正确的时间和日期数据库并标记时间和日期以及我的 E
    发表于 05-08 07:13