NoSQL 简介

简介: NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL"。

  NoSQL 简介

  NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL"。

  在现代的计算系统上每天网络上都会产生庞大的数据量。

  这些数据有很大一部分是由关系数据库管理系统(RDBMS)来处理。 1970年 E.F.Codd's提出的关系模型的论文 "A relational model of data for large shared data banks",这使得数据建模和应用程序编程更加简单。

  通过应用实践证明,关系模型是非常适合于客户服务器编程,远远超出预期的利益,今天它是结构化数据存储在网络和商务应用的主导技术。

  NoSQL 是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。

  关系型数据库遵循ACID规则

  事务在英文中是transaction,和现实世界中的交易很类似,它有如下四个特性:

  1、A (Atomicity) 原子性

  原子性很容易理解,也就是说事务里的所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功,只要有一个操作失败,整个事务就失败,需要回滚。

  比如银行转账,从A账户转100元至B账户,分为两个步骤:1)从A账户取100元;2)存入100元至B账户。这两步要么一起完成,要么一起不完成,如果只完成第一步,第二步失败,钱会莫名其妙少了100元。

  2、C (Consistency) 一致性

  一致性也比较容易理解,也就是说数据库要一直处于一致的状态,事务的运行不会改变数据库原本的一致性约束。

  例如现有完整性约束a+b=10,如果一个事务改变了a,那么必须得改变b,使得事务结束后依然满足a+b=10,否则事务失败。

  3、I (Isolation) 独立性

  所谓的独立性是指并发的事务之间不会互相影响,如果一个事务要访问的数据正在被另外一个事务修改,只要另外一个事务未提交,它所访问的数据就不受未提交事务的影响。

  比如现在有个交易是从A账户转100元至B账户,在这个交易还未完成的情况下,如果此时B查询自己的账户,是看不到新增加的100元的。

  4、D (Durability) 持久性

  持久性是指一旦事务提交后,它所做的修改将会永久的保存在数据库上,即使出现宕机也不会丢失。

目录
相关文章
|
机器学习/深度学习 人工智能 算法
深度强化学习中实验环境-开源平台框架汇总
深度强化学习中实验环境-开源平台框架汇总
702 0
|
9月前
|
机器学习/深度学习 编解码 TensorFlow
RT-DETR改进策略【模型轻量化】| 替换骨干网络为EfficientNet v1 高效的移动倒置瓶颈结构
RT-DETR改进策略【模型轻量化】| 替换骨干网络为EfficientNet v1 高效的移动倒置瓶颈结构
474 0
RT-DETR改进策略【模型轻量化】| 替换骨干网络为EfficientNet v1 高效的移动倒置瓶颈结构
|
10月前
|
人工智能 自然语言处理 并行计算
Kokoro-TTS:超轻量级文本转语音模型,支持生成多种语言和多种语音风格
Kokoro-TTS 是一款轻量级文本转语音模型,支持多语言和多语音风格生成,具备实时处理能力和低资源占用,适用于多种应用场景。
1595 5
Kokoro-TTS:超轻量级文本转语音模型,支持生成多种语言和多种语音风格
|
11月前
|
SQL 存储 分布式计算
了解Hive 工作原理:Hive 是如何工作的?
Apache Hive 是一个建立在 Hadoop 之上的分布式数据仓库系统,提供类 SQL 查询语言 HiveQL,便于用户进行大规模数据分析。Hive Metastore(HMS)是其关键组件,用于存储表和分区的元数据。Hive 将 SQL 查询转换为 MapReduce 任务执行,适合处理 PB 级数据,但查询效率较低,不适合实时分析。优点包括易于使用、可扩展性强;缺点则在于表达能力有限和不支持实时查询。
457 3
|
Kubernetes 监控 Devops
【独家揭秘】.NET项目中的DevOps实践:从代码提交到生产部署,你不知道的那些事!
【8月更文挑战第28天】.NET 项目中的 DevOps 实践贯穿代码提交到生产部署全流程,涵盖健壮的源代码管理、GitFlow 工作流、持续集成与部署、容器化及监控日志记录。通过 Git、CI/CD 工具、Kubernetes 及日志框架的最佳实践应用,显著提升软件开发效率与质量。本文通过具体示例,助力开发者构建高效可靠的 DevOps 流程,确保项目成功交付。
265 0
|
JavaScript
js中onchange的使用场景及如何使用
js中onchange的使用场景及如何使用
|
算法 数据库连接 数据库
魔鬼数字的起源与在编程中的警示作用
魔鬼数字的起源与在编程中的警示作用
|
Kubernetes Cloud Native 安全
云原生|kubernetes|kubernetes集群升级+证书更新(Ubuntu-18.04+kubeadm)
云原生|kubernetes|kubernetes集群升级+证书更新(Ubuntu-18.04+kubeadm)
1282 0
|
Windows
电脑故障由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备. (代码 19)
电脑故障由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备. (代码 19)
1830 0
|
Linux 数据安全/隐私保护
linux单用户模式
linux单用户模式
503 1

热门文章

最新文章