NoSQL数据库简介

2023-11-15

      

目录

1.NoSQL数据库概述

2.NoSQL适用场景

3.NoSQL不适用场景

4.缓存数据库

1)Memcached

2)Redis

3)mongoDB

5.列式数据库

1)行式存储数据库和列式存储数据库

(1)行式存储数据库

(2)列式存储数据库

2)列式数据库


随着Web2.0的时代的到来,用户访问量大幅度提升,同时产生了大量的用户数据。加上后来的智能移动设备的普及,所有的互联网平台都面临了巨大的性能挑战。

1.NoSQL数据库概述

  • NoSQL(NoSQL = Not Only SQL ),意即不仅仅是SQL”,泛指非关系型的数据库
  • NoSQL 不依赖业务逻辑方式存储,而以简单的key-value模式存储。因此大大的增加了数据库的扩展能力。
  • 不遵循SQL标准。
  • 不支持ACID
  • 远超于SQL的性能。

2.NoSQL适用场景

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

3.NoSQL不适用场景

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

4.缓存数据库

1)Memcached

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

2)Redis

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

3)mongoDB

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

5.列式数据库

1)行式存储数据库和列式存储数据库

id

name

city

age

1

张三

北京

20

2

李四

上海

45

3

王五

哈尔滨

30

(1)行式存储数据库

    

(2)列式存储数据库

2)列式数据库

  • 1.HBase

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

  • 2.Cassandra

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

 

注:此文为尚硅谷大数据笔记随笔

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

NoSQL数据库简介 的相关文章

  • 多字段匹配查询

    我对弹性搜索相当陌生 想编写一个涉及两个字段的查询 我的意思是字段的内容包含指定的子字符串 我有一个包含字段的文档 如下所示 name n tag t 我试过这个 search d query match name n tag t 但查询结
  • 寻找一个轻量级的java兼容内存键值存储[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 Berkeley DB 可能是最好的选择 但由于许可问题我无法使用它 还有其他选择吗 你可以试试榛卡斯
  • 如何快速获取MongoDB pymongo的所有文档

    目前我通过在 pymongo 中迭代游标来获取文档 例如 for d in db docs find mylist append d 作为参考 对同一组数据 700 万条记录 执行 fetchall 大约需要 20 秒 而上述方法需要几分钟
  • nosql 是什么意思?有人可以用简单的话向我解释一下吗?

    在这篇文章中堆栈溢出架构 http highscalability com stack overflow architecture我读到了一些叫做 nosql 的东西 我不明白它的意思 我试图在谷歌上搜索 但接缝我无法确切地了解它是什么 谁
  • 使用 cassandra-cli 创建两个复合列

    我的列族需要两个复合列 关键数据类型是BytesType 以下是使用 CQL 的表定义 CREATE TABLE stats gid blob period int tid blob sum int uniques blob PRIMARY
  • 一起使用 MongoDB 和 Neo4j

    我正在开始一个新项目 我正在考虑使用 MongoDB 作为文档存储工具 使用 Neo4j 作为映射文档之间关系的机制 然后我想通过 REST API 公开查询结果 人们会说这样做的优点和缺点是什么 是否有更好的方法可以使用不同的 NoSQL
  • Cassandra cli:将十六进制值转换为人类可读的格式

    我开始于卡桑德拉 questions tagged cassandra 当我跑步时list or get命令在cassandra cli questions tagged cassandra cli 我得到这样的结果 default use
  • Firebase 数据库结构 - 需要建议

    我知道这个问题可能被视为基于意见的问题 但是我认为值得讨论正确构建数据库的方法 我在 Swift 中开发 iOS 应用程序 并决定使用 firebase 作为我的后端服务 让我们从应用程序描述开始 该应用程序旨在为图书阅读体验提供跟踪和社交
  • 在同一个应用程序上创建多个 PouchDB 数据库是否被认为是糟糕的设计?

    我有 Mysql 背景 现在使用 Pouchdb 我习惯了每个应用程序有 1 个数据库和许多表的 SQL 模式 在 pouchDB 中情况有所不同 因为数据不是存储在表中而是存储在文档中 因此 在我的应用程序中 我有一个任务数据库 使用以下
  • 是否有 NoSQL 解决方案的比较(在某些情况下哪个更好?)[关闭]

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

    我正在使用 redis 为我的 Web 应用程序实现社交流和通知系统 我是 redis 的新手 我对哈希值及其效率有一些疑问 我读过这篇很棒的文章Instagram 帖子 http instagram engineering tumblr
  • 删除对象时删除嵌套字段中的索引

    我仍在使用 Firebase 这次我有一个与删除对象相关的问题 我有如下结构 users UsErId1 name Jack email email protected cdn cgi l email protection UsErId2
  • AWS DynamoDB 写后读一致性 - 理论上它是如何工作的?

    大多数nosql解决方案仅使用最终一致性 并且考虑到DynamoDB将数据复制到三个数据中心 如何保持写后读一致性 解决此类问题的通用方法是什么 我认为这很有趣 因为即使在 MySQL 复制中 数据也是异步复制的 我将详细告诉您 Dynam
  • MongoDB 支持浮点类型吗?

    我正在将 mysql 数据库迁移到 mongodb 但我读过 MongoDb 数据类型 然后没有引用浮点类型 如 float double decimal 我如何在 mysql 模式中拥有一些带有十进制类型的字段 我该怎么做或我能做什么 M
  • Cassandra - 使用 ORDER BY 和 UPDATE 集群键的替代方法

    我的架构是 CREATE TABLE friends userId timeuuid friendId timeuuid status varchar ts timeuuid PRIMARY KEY userId friendId CREA
  • 关于 Cassandra 与 MySQL 的一些建议

    几天前我在这里问了一个问题 得到了一些非常好的答案 我正在考虑做一个带有个人资料 个人简介等的facebook风格的网站 并询问我是否应该使用mysql 答案是使用Cassandra 因为好多了 我只是问这是每个人都会建议的 只是我对mys
  • Hector 和 Cassandra 问题 NoSuchFieldError:DEFAULT_MEMTABLE_THROUGHPUT_IN_MB

    我正在通过 Hector 测试与 Cassandra 数据库的连接 但是当我运行 Junit 测试时 我不断收到以下消息 java lang NoSuchFieldError DEFAULT MEMTABLE THROUGHPUT IN M
  • Cassandra 与 ZooKeeper 的事务 - 这有效吗?

    我正在尝试在 ZooKeeper 的帮助下为 Cassandra 实现一个事务系统 由于我认为我在数据库实现方面没有足够的经验 所以我想知道我的想法原则上是否可行 或者是否有任何重大缺陷 以下是步骤的高级描述 识别所有要编辑的行 键 和列
  • MongoDb聚合

    如何使用 mongoDb 聚合编写模拟查询 select count as ccount from a group by a someField order by ccount desc limit 1 使用 mongoDb 中的 grou
  • Mongodump之后,调用MongoRestore挂起

    我们正在尝试在相对较小的数据库上做一个简单的 MongoDump 我们的步骤很简单 export 从目标机器上删除现有数据库 在目标机器上导入 MongoDump 完美执行 mongodump out root mongo prod DB

随机推荐

  • 睿智的目标检测56——Pytorch搭建YoloV5目标检测平台

    睿智的目标检测56 Pytorch搭建YoloV5目标检测平台 学习前言 源码下载 YoloV5改进的部分 不完全 YoloV5实现思路 一 整体结构解析 二 网络结构解析 1 主干网络Backbone介绍 2 构建FPN特征金字塔进行加强
  • Arria 10上进行DDR3管脚分配

    本文介绍下DDR3的管脚分配 其它系列的DDR管脚分配也基本一样的 FPGA型号 10AX027H4F34I3SG DDR3型号 MT41J128M16JT 125 QuartusI Prime18 0 首先介绍下A10器件能支持的DDR系
  • 图像处理和图像识别中常用的matlab函数

    下面仅给出函数的大概意思 详细用法见 help 函数名 或 matlab help 1 imread read image from graphics file 2 imshow display image in Handle Graphi
  • MySQL高性能及性能优化技巧---更适合开发人员

    更新次数 更新时间 首发 2021 10 25 第一次更新 2021 10 26 1 删除了书中大量不必要的存储引擎类型 2 摘要完毕Mysql架构与历史部分 第二次更新 2021 10 29 1 摘要基准测试内容 2 删除了大量对概念的举
  • hdu 6208 The Dominator of Strings

    Problem acm hdu edu cn showproblem php pid 6208 Meaning 有 n 个字符串 问是否能找到其中一串 使得其它串都是它的子串 Analysis 如果存在这个串 那它一定是 n 个中的最长串
  • LeetCode刷题记录 字节跳动题库

    1 两数之和 哈希 一遍遍历 3 无重复字符的最长子串 哈希 流动窗口 双指针 因为右端点的位置一定不会朝左边走 建议再看看同类型的题目 2 两数相加 题 42 接雨水 单调递减栈 核心思想 对于每个点找其左边和右边第一个大于或等于它的点
  • 程序员最美的情人节玫瑰花,JAVA代码实现的3D玫瑰噢

    用纯javascript脚本编写的神奇3D圣诞树 令人印象深刻 2月14日情人节就要来临了 还是Roman Cortes 这次他又带来了用javascript脚本编写的红色玫瑰花 用代码做出的玫瑰花 这才是牛逼程序员送给女友的最好情人节礼物
  • idea自动去除导入但未使用的包

    使用idea开发过程中通常我们可能会引入某个包使用但是在后续更改中这个包就不需要了 一个个去除很麻烦 他每个java文件去除的快捷键是ctrl shift o 如果想要更智能的方法我们可以做如下配置 1 使用ctrl alt s进入sett
  • 【机器学习-分类】决策树预测

    我用一些机器学习的算法对数据进行一个分类 下面是一些需要用到的基础代码 以决策树为例 并不包括针对项目的模型处理和修改 留作记忆学习 对于数据划分训练集直接省略 def Tree score depth 3 criterion entrop
  • 论文笔记 Graph Attention Networks

    2018 ICLR 1 intro 1 1 GCN的不足 无法完成inductive任务 inductive任务是指 训练阶段与测试阶段需要处理的graph不同 通常是训练阶段只是在子图上进行 测试阶段需要处理未知的顶点 GGN 的参数依赖
  • SQL注入1(联合注入)

    数据库基础 一 数据库的操作 1 基本语句 mysql u xxx 进入mysql show databases 查看所有库名 use XXX 进入某个库 show tables 查看库的表 查询语句 select 数据操作语句 inser
  • echarts分割柱形图实现渐变电量效果柱状图

    先看下效果图是这个样子的 和普通的柱状图最明显的区别就是需要做成类似于电池格电量显示效果 目录 1 官网找例子 2 改造示例 3 全部代码 4 初始效果和完成效果对比 1 官网找例子 首先到Echarts官网找到基础的柱状图 官网初始opt
  • ZABBIX实践(三) window下的Agent端部署以及服务端汉化

    Zabbix 可以监控的对象非常多 支持的操作系统也很多 主流的linux和windows是平时接触最多的系统 本节说明一下zabbix 在windows下如何安装和配置 1 目标 1 在windows上安装zabbix agent 并且进
  • 用python做透视表_python制作数据透视表pivot_table方法详解

    数据透视表 Pivot Table 是一种交互式的表 可以进行某些计算 如求和与计数等 所进行的计算与数据跟数据透视表中的排列有关 之所以称为数据透视表 是因为可以动态地改变它们的版面布置 以便按照不同方式分析数据 也可以重新安排行号 列标
  • 3.2.spring boot 日志框架logback使用示例

    给类路径下放上每个日志框架自己的配置文件即可 SpringBoot就不使用他默认配置 slf4j 的了 logback xml 直接可被日志框架识别 logback spring xml 日志框架就不直接加载日志的配置项 由SpringBo
  • fx5u 脉冲输出指令PLSY(DPLSY)4种写法

    本文描述三菱FX5U的 脉冲输出指令PLSY DPLSY 4种写法 都有效 第一行 设置脉冲输出频率 第二行 DPLSY D0 K0 K1 FX5U 第二个参数是脉冲数量 设置为K0表示一值输出脉冲 第三个参数是轴号K1 表示Y0脉冲输出
  • C语言——数据在内存中的存储(上)

    数据在内存中的存储 1 数据类型的介绍 之前已经介绍过C语言中的基本数据类型了 主要有 char 字符数据类型 short 短整型 int 整形 long 长整型 long long 更长的整形 float 单精度浮点数 double 双精
  • Win10下AI CC 2019安装教程(超级详细-小白版)

    下载 Adobe Illustrator CC 2019 百度网盘下载地址 链接 https pan baidu com s 1i5MeAOu8 wrSep0nOy8OCA 提取码 k9gm 打开上面链接 用百度网盘软件下载 安装 右键压缩
  • 设计模式:建造者模式

    无论是在现实世界中还是在软件系统中 都存在一些复杂的对象 它们拥有多个组成部分 如汽车 它包括车轮 方向盘 发送机等各种部件 而对于大多数用户而言 无须知道这些部件的装配细节 也几乎不会使用单独某个部件 而是使用一辆完整的汽车 可以通过建造
  • NoSQL数据库简介

    目录 1 NoSQL数据库概述 2 NoSQL适用场景 3 NoSQL不适用场景 4 缓存数据库 1 Memcached 2 Redis 3 mongoDB 5 列式数据库 1 行式存储数据库和列式存储数据库 1 行式存储数据库 2 列式存