8 NoSQL数据库有哪些?

article/2025/11/5 23:40:03

文章目录

  • 1) 键值数据库
  • 2) 列族数据库
  • 3) 文档数据库
  • 4) 图形数据库

关系型数据库产品很多,如 MySQL、Oracle、Microsoft SQL Sever 等,但它们的基本模型都是关系型数据模型。 NoSQL 并没有统一的模型,而且是非关系型的。

常见的 NoSQL 数据库包括键值数据库、列族数据库、文档数据库和图形数据库,其具体分类和特点如表所示。

NoSQL 数据库分类和特点
分类 相关产品 应用场景 数据模型 优点 缺点
键值数据库 Redis、Memcached、Riak 内容缓存,如会话、配置文件、参数等;
频繁读写、拥有简单数据模型的应用
<key,value> 键值对,通过散列表来实现 扩展性好,灵活性好,大量操作时性能高 数据无结构化,通常只被当做字符串或者二进制数据,只能通过键来查询值
列族数据库 Bigtable、HBase、Cassandra 分布式数据存储与管理 以列族式存储,将同一列数据存在一起 可扩展性强,查找速度快,复杂性低 功能局限,不支持事务的强一致性
文档数据库 MongoDB、CouchDB Web 应用,存储面向文档或类似半结构化的数据 <key,value> 
value 是 JSON 结构的文档
数据结构灵活,可以根据 value 构建索引 缺乏统一查询语法
图形数据库 Neo4j、InfoGrid 社交网络、推荐系统,专注构建关系图谱 图结构 支持复杂的图形算法 复杂性高,只能支持一定的数据规模

NoSQL 数据库并没有一个统一的架构,两种不同的 NoSQL 数据库之间的差异程度,远远超过两种关系型数据库之间的不同。

可以说,NoSQL 数据库各有所长,一个优秀的 NoSQL 数据库必然特别适用于某些场合或者某些应用,在这些场合中会远远胜过关系型数据库和其他的 NoSQL 数据库。

常见的 NoSQL 数据库分为以下几种。

1) 键值数据库

这一类数据库主要会使用到一个散列表,这个表中有一个特定的键和一个指针指向特定的数据。

键值模型对于 IT 系统来说,其优势在于简单、易部署。键值数据库可以按照键对数据进行定位,还可以通过对键进行排序和分区,以实现更快速的数据定位。

2) 列族数据库

列族数据库通常用来应对分布式存储的海量数据。键仍然存在,但是它们的特点是指向了多个列,如图所示。
在这里插入图片描述

此列族数据库表中由两行组成,每一行都有关键字 Row Key,每一行由多个列族组成,即 Column-Family-1 和 Column-Family-2,而每个列族由多个列组成。

3) 文档数据库

文档数据库的灵感来自 Lotus Notes 办公软件,它与键值数据库类似。该类型的数据模型是版本化的文档,文档以特定的格式存储,如 JSON。

文档数据库可以看作键值数据库的升级版,允许之间嵌套键值,如图所示。
在这里插入图片描述

文档数据库比键值数据库的查询效率更高, 因为文档数据库不仅可以根据键创建索引,同时还可以根据文档内容创建索引。

4) 图形数据库

图形数据库来源于图论中的拓扑学,以节点、边及节点之间的关系来存储复杂网络中的数据,如图所示。

在这里插入图片描述

这种拓扑结构类似 E-R 图,但在图形模式中,关系和节点本身就是数据,而在 E-R 图中,关系描述的是一种结构。


http://chatgpt.dhexx.cn/article/j2dsAVL8.shtml

相关文章

关系型数据和文档型 数据库有什么区别?

●关系数据库(Relational Database)是建立在关系模型基础上的数据库 借助于几何代数等数学概念和方法来处理数据库中的数据 ●所谓关系模型是一对一、一对多或者多对多等关系 常见的关系型数据库有Oracle、SQL Server、DB2、 MySQL 等 ●文档型数据库是一种非关系型数据库. 非…

关系型数据和文档型数据库到底有什么区别?

背景知识 关系数据库&#xff08;Relational Database&#xff09;是建立在关系模型基础上的数据库&#xff0c;借助于几何代数等数学概念和方法来处理数据库中的数据。所谓关系模型是一对一、一对多或者多对多等关系&#xff0c;常见的关系型数据库有 Oracle、SQL Server、DB…

Document-oriented database(文档数据库)

前言&#xff1a; 关系型数据库已经红火了很久&#xff0c;但是其弊端也是显而易见的&#xff0c;对于很多非结构数据以及半结构化数据很难有效地管理&#xff0c;而且RDBMS的固定式的Schema往往很难接受&#xff0c;太呆板不灵活&#xff0c;因此基于可自由伸缩的schema的数据…

数据库需求文档

数据库管理文档 记录人&#xff1a;娄雨禛 转载于:https://www.cnblogs.com/DeltaFish/p/9134329.html

关系型数据库 和 文档类型数据库 的区别

如果在使用的时候&#xff0c;需要频繁的去查复杂的表与表之间的关联关系时&#xff0c;关系型数据库更友好。 如果在使用的时候&#xff0c;需要频繁对数据进行读写操作时&#xff0c;文档类型数据库更友好。 数据类型&#xff1a; String&#xff1a;字符串      Numbe…

华为云文档数据库服务更安全

华为云文档数据库服务更安全 华为云文档数据库服务&#xff08;Document Database Service&#xff09;作为华为云数据库的一款明星产品&#xff0c;它在数据库兼容方面完全兼容了MongoDB协议&#xff0c;能够为我们提供安全、高可用、高可靠、弹性伸缩和易用的数据库服务&am…

开源的文档型数据库--MongoDB(安装)

1、简介 MongoDB 是一个开源的、文档数据库管理系统。它提供了高性能、高可扩展性和高可用性。 MongoDB 使用了一种称为 BSON 的二进制形式的 JSON 来存储数据。这使得 MongoDB 可以轻松地存储各种数据类型&#xff0c;包括大型对象和二进制文件。 MongoDB 的一个重要特性是它的…

数据库文件

数据库由 存储在 硬件设备上的信息组成。 而 mysql 、sqlist 等只是数据库系统&#xff0c; 在 数据库 使用者 和 储存在 硬件上面的 数据 之间建立联系的桥梁。 最终&#xff0c; 我们存储在数据库里面的信息会以 文件(或内存)的形式展示在操作系统上。 如 Ubuntu16.04 &a…

文档数据库-MongoDB

文章目录 前言优点MongoDB 使用广泛MongoDB 性能高MongoDB 支持分布式安装和部署容易MongoDB 便于开发 MongoDB的文档数据模型NoSQL 中的文档数据库MongoDB 文档数据模型 MongoDB的文档存储结构键值对文档集合数据库 前言 MongoDB 是一个开源文档数据库&#xff0c;提供高性能…

MongoDB文档数据库

一&#xff0c;引言 MongoDB 是一个开源的文档数据库&#xff0c;并是领先的NoSQL数据库。 MongoDB 是由C语言编写。 通过本系列教程的讲解&#xff0c;使得学习者可以了解并掌握创建和部署高度可扩展和高性能的面向对象数据库MongoDB概念和理解。 该系列教程是专为软件专业人员…

NOSQL,MongoDB是什么?

什么是MongoDB &#xff1f; MongoDB 是一个开源的文档数据库&#xff0c;它基于 C 语言编写&#xff0c;性能高&#xff0c;可用性强&#xff0c;能够自动扩展。 MongoDB 是最流行的 NoSQL 数据库之一&#xff0c;原生支持分布式集群架构&#xff0c;特别适合处理大数据&…

胖人瘦下来后,会长高或变矮吗?

一个还算高的胖子&#xff0c;单看是不显矮的&#xff0c;但正所谓没有对比就没有伤害&#xff0c;若将他与一个跟他一般高的瘦人排在一起&#xff0c;就会无端显得矮了一截&#xff0c;当然也只是“显得”矮而已&#xff0c;并非真的矮。 那么&#xff0c;他们要是瘦下来后会…

PTA 7-40 到底是不是太胖了

很明显题目中有绝对值&#xff0c;需要调用绝对值函数。 整形绝对值&#xff1a;abs函数 双精度浮点型绝对值&#xff1a;fabs函数 长整型绝对值&#xff1a;labs函数 他们的头文件都是include<math.h>或者include<stdlib.h> 接着一个for循环就可以解决问题。…

PTA题目 到底是不是太胖了

据说一个人的标准体重应该是其身高&#xff08;单位&#xff1a;厘米&#xff09;减去100、再乘以0.9所得到的公斤数。真实体重与标准体重误差在10%以内都是完美身材&#xff08;即 | 真实体重 − 标准体重 | < 标准体重10%&#xff09;。已知市斤是公斤的两倍。现给定一群人…

[模板]详细设计说明书(整理版)【申明:来源于网络】

[模板]详细设计说明书&#xff08;整理版&#xff09;【申明&#xff1a;来源于网络】 地址&#xff1a;http://www.doc88.com/p-0724366501067.html

模板设计模式

模板设计模式—基于抽象类的&#xff0c;核心是封装算法 模板方法定义了一个算法的步骤&#xff0c;并允许子类为一个或多个步骤提供具体实现模板&#xff08;模板方法&#xff09;模式&#xff08;Servlet、AQS&#xff09; 在一个方法中定义一个算法的骨架&#xff0c;并将一…

资深码农教你写详细设计(附示例模板)

很多小伙伴都不知道怎么写详细设计&#xff0c;本期就带大家看一下详细设计都有哪些内容。 喜欢听我叨叨的&#xff0c;直接看视频 资深码农教你写详细设计&#xff08;附模板&#xff09; 不同的公司&#xff0c;详细设计不太一样&#xff0c;有的细&#xff0c;有的粗&#x…

【零基础深度学习教程第二课:深度学习进阶之神经网络的训练】

深度学习进阶之神经网络的训练 神经网络训练优化一、数据集1.1 数据集分类1.2 数据集的划分1.3 同源数据集的重要性1.4 无测试集的情况 二、偏差与方差2.1 概念定义2.1.1 偏差&#xff08;bias&#xff09;2.1.2 方差&#xff08;variance&#xff09; 2.2 图形定义2.3 衡量偏差…

深度学习小白入门教程-基础运用篇

深度学习小白入门教程-基础运用篇 可能有图片没部署成功&#xff0c;如果有影响&#xff0c;请回小主主页PyCharm玩个文本类数据二分类第一步&#xff0c;把我们可能用到的包安排上&#xff0c;还有python的标准主函数~第二步&#xff0c;导入数据集&#xff0c;cv大法就好啦~第…

深度学习(一、入门)

从人工智能开始 让机器具有人类的智能&#xff0c;能够理解人类语言、语音、图片、视频以及各种人类活动数据&#xff0c;并以此为依托辅助甚至代替人类做出决策&#xff0c;是人工智能的终极目标。最早提到机器智能的是图灵&#xff0c;1950年&#xff0c;他提出机器是否拥有…