NoSQL数据库简介

2023-11-05

原文地址:https://program-park.github.io/2021/06/21/database_1/

1. NoSQL数据库概述

NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库
NoSQL 不依赖业务逻辑方式存储,而以简单的key-value模式存储(数据存储的类型不需要一个固定形式)。因此大大的增加了数据库的扩展能力。

  • 不遵循 SQL 标准
  • 不支持 ACID
  • 远超于 SQL 的性能

2. NoSQL特点

  • 方便扩展(数据之间没有关系,很好扩展)
  • 大数据量高性能(Redis 一秒写8万次,读取11万,NoSQL的缓存记录级是细粒度的缓存,性能会比较高)
  • 高可用、高可扩
  • 键值对存储、列存储、文档存储、图形数据库(社交关系)

3. NoSQL适用场景

  • 对数据高并发的读写
  • 海量数据的读写
  • 对数据高可扩展性

4. NoSQL不适用场景

  • 需要事务支持
  • 基于 sql 的结构化查询存储,处理复杂的关系,需要即席查询

5. 常见的NoSQL四大分类

5.1 Key-Value数据库

5.1.2 Memcache

在这里插入图片描述

  • 早期出现的 NoSQL 数据库
  • 数据都在内存中,一般不持久化
  • 支持简单的 key-value 模式,支持类型单一
  • 一般是作为缓存数据库辅助持久化的数据库

5.1.2 Redis

在这里插入图片描述

  • 几乎覆盖了 Mencached 的绝大部分功能
  • 数据都在内存中,支持持久化,主要用作备份恢复
  • 除了支持简单的 key-value 模式,还支持多种数据结构的存储,比如 list、set、hash、zset等
  • 一般是作为缓存数据库辅助持久化的数据库

5.2 文档型数据库

5.1.1 MongoDB

在这里插入图片描述

  • 高性能、开源、模式自由(schema free)的文档型数据库
  • 数据都在内存中, 如果内存不足,把不常用的数据保存到硬盘
  • 与Key-Value类似,Value是结构化的,不同的是数据库能够了解Value的内容
  • 虽然是key-value模式,但是对 value(尤其是 json )提供了丰富的查询功能
  • 支持二进制数据及大型对象
  • 可以根据数据的特点替代RDBMS ,成为独立的数据库,或者配合RDBMS,存储特定的数据

5.3 列存储数据库

5.3.1 HBase

在这里插入图片描述

  • HBase是Hadoop项目中的数据库。它用于需要对大量的数据进行随机、实时的读写操作的场景中
  • HBase的目标就是处理数据量非常庞大的表,可以用普通的计算机处理超过10亿行数据,还可处理有数百万列元素的数据表

5.3.2 Cassandra

在这里插入图片描述

  • Apache Cassandra 是一款免费的开源NoSQL数据库,其设计目的在于管理由大量商用服务器构建起来的庞大集群上的海量数据集(数据量通常达到PB级别)。在众多显著特性当中,Cassandra最为卓越的长处是对写入及读取操作进行规模调整,而且其不强调主集群的设计思路能够以相对直观的方式简化各集群的创建与扩展流程。

5.4 图关系型数据库

在这里插入图片描述
主要应用:社会关系,公共交通网络,地图及网络拓谱(n*(n-1)/2)
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NoSQL数据库简介 的相关文章

  • 使用 MongoDB 与 MySQL 与大量 JSON 字段?

    有一种微博类型的应用程序 两个主要的基本数据库存储是 MySQL 或 MongoDB 我计划对大量数据进行非规范化 即对帖子进行的投票存储在投票表中 并且主帖子表中的计数也会增加 该帖子还涉及其他操作 例如点赞 投票否决 如果我使用 MyS
  • FireStore - 如何绕过数组“不包含”查询

    经过一些研究 很明显我无法使用 FireStore 来查询给定数组不包含的项目 有人有针对这个用例的解决方法吗 用户注册后 应用程序会获取一堆卡片 每张卡片在 FireStore 中都有相应的 卡片 文档 用户与卡片交互后 卡片文档将用户的
  • Firebase 检索嵌套数据

    我在尝试从 Firebase 检索时遇到了一些麻烦 基本上我的组表是这样的 在这种情况下 根据group ID KpFibCHjJ1xpfLd07WJ 有一个account ID KpFiX2L7ENt6EBgrB0S 右边将会有多个帐户
  • 由于新的 couchbase 安装,将数据恢复到 couchbase

    我们有一个 couchbase 服务器 不知何故进行了全新安装 并且我们在那里的所有数据都丢失了 我已经设法备份了 opt couchbase var lib couchbase data 现在 当我尝试将数据复制回来时 它没有显示 cou
  • 同时使用@Document和@Entity

    我尝试在同一个实体类上使用 Document和 Entity 但是当我实现两个存储库 ElasticSearchRepository和CrudRepository 时出现以下错误 The bean esRepo defined in nul
  • 无需服务器端代码即可在 Firebase 中搜索

    我正在尝试获取名称包含 Firebase 给定字符串的所有用户 例如 如果我有这些用户 Devid Andy Bob 我希望获得名称中包含 D 的所有用户 因此我希望得到这样的结果 Devid Andy 这是我的 Firebase 目前的结
  • MongoDB、Redis 与 Cassandra 的快速写入、临时行存储解决方案

    我正在构建一个跟踪和验证广告展示次数和点击次数的系统 这意味着有很多插入命令 平均每秒约 90 个 峰值为 250 个 和一些读取操作 但重点是性能并使其速度极快 该系统目前使用 MongoDB 但从那时起我就开始使用 Cassandra
  • Delphi 和 NoSQL

    有人曾经将 Delphi 与 NoSQL 数据库 如 Mongo CouchDB 或其他数据库 一起使用过吗 您会推荐哪一款 对于 Mongo 有TMongoWire https github com stijnsanders TMongo
  • 使用增量计数器在 Couchbase 集群中生成唯一密钥

    我听到的关于 Couchbase 和其他 NoSQL 数据库的最常见问题是如何为记录生成唯一键 或者更具体地说 如何复制常见关系数据库的自动增量功能 Couchbase 中经常提到的解决方案是增量函数 您可以在数字键上调用增量 它将按顺序生
  • java.lang.String 类型中没有由 @DynamoDBHashKey 注释的方法或字段

    我不知道为什么不运行这个项目 Data DynamoDBTable tableName tableName public class entityName implements Serializable private static fin
  • 在 MySQL 中使用 NoSQL

    我注意到 MySQL 可以将 Memcached NoSQL 与 InnoDB 结合使用 但我无法检索有关如何使用它的信息 我想与 PHP 一起使用 NoSQL 查询是标准的吗 首先 MySQL从5 6版本开始只支持NoSQL的memcac
  • CouchDB 和 Couchbase 有什么区别?

    之间有什么本质区别吗CouchDB http couchdb apache org and 沙发底座 http www couchbase com 我认为CouchDB和Couchbase Server之间有一些本质的区别需要指出 我不会写
  • nosql 是什么意思?有人可以用简单的话向我解释一下吗?

    在这篇文章中堆栈溢出架构 http highscalability com stack overflow architecture我读到了一些叫做 nosql 的东西 我不明白它的意思 我试图在谷歌上搜索 但接缝我无法确切地了解它是什么 谁
  • Firebase 数据库结构 - 需要建议

    我知道这个问题可能被视为基于意见的问题 但是我认为值得讨论正确构建数据库的方法 我在 Swift 中开发 iOS 应用程序 并决定使用 firebase 作为我的后端服务 让我们从应用程序描述开始 该应用程序旨在为图书阅读体验提供跟踪和社交
  • 如何在Cassandra中搜索不相等的二级索引?

    我需要能够仅使用 对二级索引执行搜索 据我所知 Cassandra 至少需要一个等式索引子句 因为它会迭代该等式索引的所有结果 是否有任何技巧可以仅使用 执行操作 至少在概念上 这是一个坏主意吗 另外 有人知道 Cassandra 是否有计
  • Neo4j 入门

    我对 neo4j 完全陌生 很抱歉问这样一个基本问题 我已经安装了 neo4j 我正在使用 shell localhost 7474 webadmin console 我正在寻找一个很好的示例 它使用一些 shell 命令从预先存在的图形数
  • 适用于 Web 照片库的正确 NoSQL 数据架构

    我正在寻找为照片库的 NoSQL 存储构建合适的数据结构 在我的网络应用程序中 一张照片可以是一个或多个相册的一部分 我有使用 MySQL 的经验 但几乎没有使用键值存储的经验 使用 MySQL 我将设置 3 个表 如下所示 photos
  • Apache Cassandra 如何进行聚合操作?

    总的来说 我对 Apache Cassandra 和 nosql 相当陌生 在 SQL 中 我可以执行聚合操作 例如 SELECT country sum age count AS averageAge FROM people GROUP
  • 检查 DynamoDB 中是否存在表的最佳方法是什么?

    检查 DynamoDb 中是否存在表的最佳方法是什么 如果代码是 PHP 语言 我将不胜感激 要么活跃 要么不活跃 稍后作为错误代码 400 的各种情况的示例添加 检查表是否存在很容易 它可以有以下之一 表状态 gt 创建 活动 删除或更新
  • 是否有 NoSQL 解决方案的比较(在某些情况下哪个更好?)[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 当我在 Linux PHP 架构中构建基于密钥的归档应用程序时 我正在尝试了解有关 NoSQL 的更多信息 谁能解释一下主要解决方案

随机推荐

  • 3.5.1 ASM规划及实现

    最后更新2021 08 14 AMS规划 规划涉及到几个参数 它们之间互相影响 如果需要修改其中一个 注意是否需要同时修改其它几个 下面是几个重要参数及其概念 Memory Pool size共享内存池的大小 使用同一共享内存池的分区数量
  • 贷后联动管控指标与差异化案件的分配逻辑

    在风控精细化运营的当下 贷后工作的开展 越来越需要精细化管理 如何做好相关的精细化管理工作 首先我们从这些贷后相关的名词如下开始熟悉 贷后基本催收名词解释 Flow Rate 迁移率就是在贷后资产评估里最重要的报表了 比如计算M0到M1的迁
  • shell脚本获取当前ip地址

    需求 shell脚本里我需要根据不同的ip地址做出不同的操作 因此我需要在shell脚本里获取当前主机的ip地址 我需要获取到192 168 1 111这个ip地址 方法1 ifconfig grep inet 地址 grep 192 16
  • (十五)视频处理、不用事先训练

    十五 视频处理 不用事先训练 本文的代码的功能是 可以对人物视频进行操作 不用预先耗时训练模型 效率极高 可进行视频处理 使用了人工智能的算法 注 请移步最新博文 十八 一 主要功能 以下的Python代码的功能 选择视频 主要包括 1 对
  • 图解数据结构与算法-搜索与回溯

    前言 本博客是leetcode上图解算法数据结构 LeetBook 力扣 LeetCode 全球极客挚爱的技术成长平台的刷题记录 可能存在错误 仅供参考 主要记录刷题过程的思路 错误 代码以及总结 更详细的解答可以直接看上面这本书 如发现错
  • 最小生成树之克鲁斯卡尔算法

    目录 前言 一 克鲁斯卡尔算法构造过程 二 算法实现 1 辅助结构体 数组 2 算法核心 3 排序函数 总结 前言 承接上文普里姆算法 这里的克鲁斯卡尔算法是解决最短联通路径的另一种算法 细节就不多概述了 思想都是一样的 知识解决问题的出发
  • 大数和代码实现(不使用BigInteger)

    代码实现如下 import java util Scanner public class BigSum public static void main String args String num1 getNumber String num
  • openwrt frpc问题

    1 frpc ssh多个进程可能失败 只保留一个进程就ok 2 自启动方法init d可能无效 openwrt system scheduled tasks 1 etc init d frpc start 2 gt dev null
  • 某市出租车,起步价(2 公里以内)为 8 元,超过 2 公里的按照每公里 4.5 元计算。要求根据路程计算费用。

    public class Task 10101003 01 public static void main String args Scanner input new Scanner System in double sum 0 总费用 d
  • C++,引用和指针

    引用指的是对什么的引用 是地址引用吗 这不和指针一样吗 引用 Reference 是C 中一种特殊的变量类型 它可以被看作是对另一个变量的别名 即某个变量的引用 引用不是地址引用 它是在语法层面提供的一种更直观 更安全的方式来访问和修改其他
  • echarts折现图的点击事件===非常简单哦,直接在后面加事件

    先看效果图吧 一般我们echars的折现图设置点击事件时 只能点击那个点 特别的不方便 在这里我们在用一种方法让他可以划过点击 可以打印看下得到的数据 myChart setOption option true myChart getZr
  • R语言之基础数据管理(下)

    1 类型转换 R语言中数据类型判断及转换函数 判 断 转换 is numeric as numeric is character as character is vector as vector is matrix as matrix is
  • 【科普贴】LDO电源详解

    一 LDO结构和工作原理 LDO 全称是 Low Dropout Regulator 低压差线性稳压器 其中核心部件是工作在线性区域的调整管 如下图中的VT MOS管 LDO由VT 放大器 反馈电阻等部分组成 如上图所示 通过R1和R2电阻
  • 免费App开发解决方案 一键生成App

    Mob App工厂 顾名思义指生产App的一个工厂 这个工厂目前能生产四种类型的App模板 新闻类App 商城类App 社交类App WordPress 可大量生产不同种类App 满足多种行业需求 Mob App 工厂依托于Mob开发者平台
  • Business Cycle 【UVALive - 7501】【二分答案+思维处理】

    题目链接 14年的EC 银牌题 但是现在的大牛们进步神速 估计如今已经是道铜牌题了 具体我们先讲一下题意 一个长度为N的自环圈 每个点 1 N 上有自己对应的权值 可能为负数 我们用一个初始值进入这个环 每次走到一个节点的时候会加上这个节点
  • firefox 不识别background-position-y / background-position-x

    火狐不识别background position y 或background position x 案例 页面 背景图 一列按钮 点击时让当前背景图的background position y 0 最初设置成如下这样 发现火狐点击不起作用
  • 换思路解决小程序page设定背景图片fixed导致页面不能滑动(小程序设置背景图片)

    暂时没有什么办法 记录着先 参考了这篇博文的办法 https blog csdn net qq 44532195 article details 105933485 按照这篇文章 在每一个页面开头加上这段代码
  • Elasticsearch部署前准备(选机器)

    部署Elasticsearch前对硬件的准备 1 CPU上的选择 在更快的 CPUs 和更多的核心之间选择 选择更多的核心更好 多个内核提供的额外并发远胜过稍微快一点点的时钟频率 常见的集群使用两到八个核的机器 2 硬盘上的选择 如果你负担
  • Android原生TabLayout使用全解析,看这篇就够了

    前言 为什么会有这篇文章呢 是因为之前关于TabLayout的使用陆陆续续也写了好几篇了 感觉比较分散 且不成体系 写这篇文章的目的就是希望能把各种效果的实现一次性讲齐 所以也有了标题的 看这篇就够了 TabLayout作为导航组件来说 使
  • NoSQL数据库简介

    目录标题 1 NoSQL数据库概述 2 NoSQL特点 3 NoSQL适用场景 4 NoSQL不适用场景 5 常见的NoSQL四大分类 5 1 Key Value数据库 5 1 2 Memcache 5 1 2 Redis 5 2 文档型数