470 字
2 分钟
数据库系统工程师—9.非关系型数据库NoSQL

非关系型数据库NoSQL#

CAP理论#

对于一个分布式系统,一致性、可用性和分区容忍性三个特点最多只能三选二

  • 一致性(Consistency):系统在执行了某些操作后仍处于一个一致的状态
  • 可用性(Availablity):数据的所有操作都有成功的返回。简言之,就是任何请求不管成功或失败都有响应
  • 分区容忍性(Partition tolerance):在网络发生故障的时候。在网络连接上,一些结点出现故障,使得原本连通的网络变成了一块一块的分区,若允许系统继续工作,那就是分区可容忍的。

ACID理论#

  • 原子性(Atomicity):
    • 事务的所有操作在数据库中要么都做要么都不做
  • 一致性(Consistency):
    • 一个事务独立执行的结果,将保持数据的一致性,即数据不会因为事务的执行而遭受破坏
  • 隔离性(Isolation):
    • 一个事务的执行不能被其他事务干扰。并发事务在执行过程中可能会对同一数据进行操作,这些事务的操作应该不会相互干扰,是相互隔离的
  • 持久性(Durability):
    • 一个事务一旦提交,它对数据库的改变必须是永久的,即使系统出现故障也是如此

BASE理论#

由于CAP理论的存在,为了提高性能,出现了ACID的一种变种BASE,它是一个弱一致性的理论,只要求最终一致性。

  • BA(Basically Available):基本可用
  • S(Soft state):软状态,可以理解为“无连接的”的,而与之相对应的是“面向连接”的。
  • E(Eventual consistency):最终一致性,最终整个系统看到的数据是一致的

NoSQL数据库的种类#

文档存储、键值存储、列存储、图存储

数据库系统工程师—9.非关系型数据库NoSQL
https://minthana.github.io/blog/posts/数据库系统工程师-9-非关系型数据库nosql/
作者
Mint
发布于
2025-04-24
许可协议
CC BY-NC-SA 4.0