Nosql 概念释义

2023-11-16

  进几年常常听到一个高大上的名字Nosql,再加上鼓吹者说Nosql将会消灭关系数据库,今天怀着好奇心里,简单了解了以下Nosql的概念,发现其实没有那么神秘,被鼓吹者夸大其词了,导致我等门外汉一下子给打懵了。
  我认为,一个新技术要想让大家使用,首先得有一个好的来龙去脉,知道这个技术出现的原因,从而学习时候也就能抓住重点。
  Nosql的出现原因是,关系数据库是一个重量级的工具,可是如果要管理一个比较简单的数据库,比如要管理一个电话本,只有名字和电话号两个信息,采用关系数据库必然造成系统消耗资源且不易使用,因此可以就这类情况有针对性的开发一些只针对该需求的数据库,Nosql就是这类数据库的统称。
  下面就今天的简单理解,做一个记录。
  本文并不涉及任何Nosql的技术细节,只是一个概念普及,期望能起到一个破除神秘感的效果。

引言

  Nosql是NOT ONLY SQL的意思,Nosql之前,比较流行的数据库就是关系数据库。
  SQL(Structured Query Language:结构化查询语言)是关系数据库最常见的工具语言。
  Nosql实质是一些非关系数据库的统称,为了和关系性数据库区别所以起了一个比较拉风的名字,好让大家尽快认识。和SQL语言没什么关系,其实更合理的名字应该是 NOT ONLY Relation。

Nosql和关系数据库

  其两者的关系,可以借用一句话说明:“随便拿一把刀,都可以用来切菜,切肉,打架,砍树,削水果;但是这把刀肯定不是最适合这些所有工作的,因此需要菜刀,水果刀,斧子等”。关系数据库就是一把通用的刀,可以做很多工作,Nosql就是一把为具体业务使用的刀。
  并不是所有的数据都比较适合关系数据库的,比如数据结构就是简单的N组(key,value)对,那么使用关系数据库就是大材小用,且会导致效率低下,此时采用hash等方式不失为一个比较简单快速的方法。
  关系数据库是一个很好的通用型数据库,这里面你可以放任何东西,而且它的一切都是可以预期的。随着行业的发展,大家开始对业务上的一些问题了解越来越深入,而且这些业务的量也大到了你愿意单独为它搭一套系统。此时,不同的nosql作为不同特定问题的工具出现就自然而然了。

Nosql 

常见的Nosql数据库有以下几种:

  1. 键值(Key-Value)存储数据库
  2. 列存储数据库
  3. 文档型数据库  
  4. 图形(Graph)数据库

总结

  Nosql没有那么神秘,其泛指非关系型数据库;也并不会向有些人说的那样,Nosql比关系数据库强大,两者各有优势,用途不同。

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

Nosql 概念释义 的相关文章

  • 如何使用 SQL 查询在 Access 中的字段上设置验证规则?

    我正在使用 MS Access 2016 Office 365 目前遇到问题 下面是一个演示此问题的示例 这里我创建了一个表 名为节点家庭链接 由两个字段组成 NodeID 和 FamilyID 如下所示 现在 NodeID 是从另一个表
  • MySQL 按主键排序

    某些 SQL 服务器允许使用通用语句 例如ORDER BY PRIMARY KEY 我不相信这适用于 MySQL 是否有任何此类解决方法可以允许跨多个表自动选择 或者是否需要查找查询来确定主键 我一直在研究的解决方法包括调用SHOW COL
  • 是什么阻止“Select top 1 * from TableName with (nolock)”返回结果?

    我目前正在运行以下语句 select into adhoc san savedi from dps san savedi record 这花了很长时间 我想看看它走了多远 所以我运行了这个 select count from adhoc s
  • 表名搜索

    我使用以下命令在特定数据库的存储过程中搜索字符串 USE DBname SELECT Name FROM sys procedures WHERE OBJECT DEFINITION OBJECT ID LIKE xxx 修改上面的内容是否
  • 使用 WHILE 创建虚拟数据

    我尝试使用 a 在表中插入一些虚拟数据WHILE 但它运行得非常非常慢 我在想也许我写的代码不正确 你能看一下并确认一下吗 Insert dummy data DECLARE i int Content int SET i 5001 WHI
  • PHP PDO相关:更新SQL语句未更新数据库内容

    我正在尝试使用准备好的语句来实现更新语句PHP http en wikipedia org wiki PHP脚本 但它似乎没有更新数据库中的记录 我不确定为什么 所以如果您能分享一些见解 我将不胜感激 Code query UPDATE D
  • 使用按位函数查询 BIT 字段时,MySQL 不使用索引

    我的 MySQL 表中有一个 BIT 类型的字段 我想使用位值存储记录的状态 例如 1 status1 2 status2 4 status3 8 status4 每条记录可以同时具有多种状态 对于 status1 和 status3 该值
  • 将两行中相似的列数据合并到一行中

    我的查询结果具有以下特征 LIDCode Total Domain Region VSE Version AB02 15 GLOBAL CANLA 0 6943 AB02 5925 CENTRE STREET SW 31 GLOBAL CA
  • 如何授予所有表的 REFERENCES 权限

    我必须授予REFERENCES登录权限说sql login 我可以给予资助REFERENCES对单个表的权限 例如 GRANT REFERENCES ON Mytable TO sql login 有什么办法可以授予REFERENCES允许
  • 插入多行并返回主键时 Sqlalchemy 的奇怪行为

    插入多行并返回主键时 我注意到一些奇怪的事情 如果我在 isert 查询中添加使用参数值 我会得到预期的行为 但是当将值传递给游标时 不会返回任何内容 这可能是一个错误还是我误解了什么 我的sqlachemy版本是0 9 4 下面如何重现错
  • Oracle 中的 SQL 调优 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有任何文章 链接可以让我找到 SQL 调优 Oracle 的示例 如果能用例子来解释那就太好了 我需
  • 如何在SSRS中的表上创建热图?

    如何在 SSRS 中创建这样的内容 颜色将根据行中的值 承销商 从红色变为绿色 所有这些都在一个组中 您可以通过右键单击各个单元格并根据表达式设置填充颜色来完成此操作 In the Image below I ve mistakingly
  • 查询中列的顺序重要吗?

    当从 MySQL 表中选择列时 与表中的顺序相比 选择列的顺序是否会影响性能 不考虑可能覆盖列的索引 例如 您有一个包含行 uid name bday 的表 并且有以下查询 SELECT uid name bday FROM table M
  • 如何使用 MySQL 的 LOAD DATA LOCAL INFILE 在导入 CSV 时将字符串日期更改为 MySQL 日期格式

    我正在使用 MySQL 的 LOAD DATA LOCAL INFILE SQL 语句将数据从 CSV 文件加载到现有数据库表中 下面是一个 SQL 语句示例 LOAD DATA LOCAL INFILE file csv INTO TAB
  • SQL Server 用分隔符分割字符串

    我有一个输入字符串 100 2 3 101 2 1 103 2 3 我想解析它并将其添加到具有 3 列的表中 因此它应该是 f x col1 col2 col3 100 2 3 类似的其他数据以逗号分隔作为记录和 作为列 Thanks ni
  • 查找 PostgreSQL 中所有范围集合的所有交集

    我正在寻找一种有效的方法来查找时间戳范围集之间的所有交集 它需要与 PostgreSQL 9 2 配合使用 假设这些范围代表一个人可以见面的时间 每个人都可以有一个或多个空闲时间范围 我想找到all可以召开会议的时间段 即所有人都有空的时间
  • Mysql 检索所有有限制的行

    我想检索特定用户的所有行 限制为 0 x 所以我只是想问是否有任何方法可以检索 mysql 中的所有行 而不调用返回 x 的 count id 的方法 而不重载现有函数 该函数在查询中根本没有限制 与我们的 string Relace 功能
  • ArangoDB:(1 个具有多个边缘定义的图)Vs(每个图 1 个边缘定义)

    我想知道在一个图中拥有多个边定义与每个图都有一个边定义相比是否有任何优势 谢谢你的帮助 使用多个边缘定义而不是仅使用一个边缘定义有多种原因 显示内容差异 您可能需要不同的边缘集合bought and watched 不过 这也可以通过使用标
  • 独立对列进行排序,使得所有空值都位于每列的最后

    这是一个名为的示例表animal name color fox brown fox red dog gold 现在 我想要的是这样的结果 fox dog brown gold red 名称应该是结果的列 不同颜色值作为行 我的第一个想法是
  • 使用 where 进行 select 语句时,HSQLDB 用户缺乏权限或未找到对象错误

    我的数据库使用 SQuirrel SQL 客户端版本 3 5 3 和 HSQLDB 我已经能够为其指定相应的驱动程序 内存中 并创建一个别名 我创建了一个表 CREATE TABLE ENTRY NAME VARCHAR 100 NOT N

随机推荐

  • 华为od机试题1 真题

    华为od机试题 真题 86 射击比赛成绩排序 85 计算屏幕字母数量 84 组成最大数字 82 输出字符串中最小数字 81 数字4的个数 80 整数排列 79 多条件排列 78 时间排序 以下题目附带Java解法 是我个人写的 不一定是标准
  • vue新ref语法糖争议

    近日 Vue 发明人尤雨溪在 Vue RFCs 下提交了一份新的 Ref 语法糖提案 该提案一经发布便引来了不少争议 提案内容 这份提案就是在单文件组织 SFC 中引入一个新的script 标签写法 写法为 关于为什么这样做 尤雨溪表示 一
  • 基于EEGLAB的ICA分析

    目录 1 ICA原理 2 ICA的实现 3 ICA成分识别 4 ICLabel识别并去除伪迹 5 ICA成分识别练习 1 ICA原理 得到的每一个地形图 实际上就是它的权重谱 投射 根据原成分恢复原始信号 选择性投射 去伪 2 ICA的实现
  • java Comparator 多个字段比较

    List 中元素需要排序时 需要比较元素值 当元素是复杂对象时 有时需要根据多个字段进行排序 package com example demo domain import lombok Getter import lombok NoArgs
  • 八十九.计数排序、基数排序(查找与排序(四))——JAVA

    查找与排序 一 查找与排序 二 查找与排序 三 计数排序 一句话 用辅助数组对数组中出现的数字计数 元素转下标 下标转元素 步骤 1 找出原数组中元素值最大的 记为max 2 创建一个新数组helper其长度是max加1 其元素默认值都为0
  • Linux bluez蓝牙开发的准备工作

    最近为了搞这个蓝牙的事情 忙碌了好几天 我就是想结合 bluez 的代码随便玩一下蓝牙设备 而且能够参考源码写点测试程序来操作这个蓝牙设备 这里只是说明 Linux 下的准备工作而非嵌入式的arm 1 系统支持 我用的是真机安装的 Debi
  • springboot:整合rabbitmq之重试机制

    当我们消息消费失败的时候 可以进行重试 什么情况下会重发消息 1 网络抖动 2 程序抛出异常没有try catch RabbitMQ自动补偿机制触发 多用于调用第三方接口 1 当我们的消费者在处理我们的消息的时候 程序抛出异常情况下 默认无
  • FFmpeg测试视频的实时码流(音视频学习笔记五)

    前言 这篇博文记录一个简单的实时码流测试程序 事实上FFmpeg打开媒体文件后就可以获得整个视频的平均码流 只计算视频码流 但是无法获取实时码流 因为后面的工作需要对编解码做一些优化 需要实时观测码流 这里先实现一个比较简单的版本 运行结果
  • 简单的控制台学生信息系统

    package studentsystem import java util ArrayList import java util Scanner public class APP ArrayList
  • 华为OD机试 - 英文输入法 - 逻辑分析(Java 2023 B卷 100分)

    目录 专栏导读 一 题目描述 1 需求如下 2 注意 二 输入描述 三 输出描述 四 解题思路 五 Java算法源码 六 效果展示 1 输入 2 输出 3 说明 4 区分大小写 如果联想不到 输出前缀 华为OD机试 2023B卷题库疯狂收录
  • tms xdata开发连接sqlite数据库的rest server

    1 使用向导 2 设置fdconnection的连接属性 3 设置授权 否则服务无法运行 4 运行tms data modeler 工具 5 将刚刚生成的unipersons pas文件加入到工程中 6 结果
  • 互联网摸鱼日报(2023-07-20)

    互联网摸鱼日报 2023 07 20 InfoQ 热门话题 龙蜥操作系统重磅更新 全面支持智能计算 兼容主流AI框架 微软赢麻了 联合Meta 重磅发布开源 可直接商用大模型Llama 2 网友 OpenAI 感觉如何 ChatGPT 提效
  • 【redis事务】@Transactional对Redis事务起作用(包含redis+lua)

    redis事务 Transactional对Redis事务起作用 包含redis lua 一 前言 二 准备 三 StringRedisTemplate 开启事务 四 关键代码 验证 Transactional对redis事务是否生效 五
  • java帧结构_详细解析Java虚拟机的栈帧结构

    什么是栈帧 正如大家所了解的 Java虚拟机的内存区域被划分为程序计数器 虚拟机栈 本地方法栈 堆和方法区 什么 你还不知道 赶紧去看看 Java虚拟机内存结构及编码实战 这次要介绍的栈帧 Stack Frame 就是Java虚拟机中的虚拟
  • stm32F1的JTAG、SWJ作为普通引脚使用。禁用JTAG、SWJ。

    stm32F1的JTAG SWJ引脚 为 PA13 PA14 PA15 PB3 PB4 单片机复位后 默认功能为 JTAG SWJ 而实际使用中 一般只使用 SWCLK SWDIO这两个引脚做 Debug 其余的引脚可以空出来 重新定义为普
  • 红外避障小车(ZK-2)初步拼装

    红外避障小车 ZK 2 初步拼装 一 拼装零件 1 M330螺丝4个 2 M312铜柱4个 3 M8螺丝4个 M36螺丝8个 4 码盘2个 5 M3螺母8个 6 T型小支架4个 7 船型开关1个 8 轮胎2个 9 万向轮1个 10 电池盒1
  • [Java反序列化]AspectJWeaver反序列化

    Java反序列化 AspectJWeaver反序列化 前言 2021年二月份ysoserialize增加了这条AspectJWeaver链子 之后陆续在2021年的D3CTF以及国赛决赛中都出现了这条链子的攻击 所以学习一下AspectJW
  • 深入学习jquery源码之replaceWith()和replaceAll()

    深入学习jquery源码之replaceWith 和replaceAll replaceWith content fn 概述 将所有匹配的元素替换成指定的HTML或DOM元素 参数 content String Element jQuery
  • 网络推广引流方法大全

    在互联网的圈子里有关网络推行的问题是一个永久的话题 你的商品哪怕再好假如没有推行进来一切都是白搭 经常听有人说 酒香不怕巷子深 但分离当今社会的方式 特别是在竞争日益严酷的今天我想 酒香也会怕巷子深了 进入互联网时期 企业产品推行再也不能仅
  • Nosql 概念释义

    进几年常常听到一个高大上的名字 osql 再加上鼓吹者说Nosql将会消灭关系数据库 今天怀着好奇心里 简单了解了以下Nosql的概念 发现其实没有那么神秘 被鼓吹者夸大其词了 导致我等门外汉一下子给打懵了 我认为 一个新技术要想让大家使用