searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享

关系型数据库, NoSQL 数据库, NewSQL 数据库权威整理

2022-06-29 09:40:59
92
0

👀 数据库分类

  • 数据库分类对比
  • ACID 规则
  • CAP 原理

🦩 关系型数据库

  • 🦈 MySQL
  • 🐬 MariaDB
  • 🐋 Percona Server

🦉 NoSQL 数据库

  • 键值(Key-Value)存储数据库
    • 🐝 Redis
    • 🦗 RocksDB
  • 列存储数据库
    • 🦕 Cassandra
  • 文档型数据库
    • 🦜 CouchDB
    • 🦢 MongoDb

🦊 NewSQL 数据库

  • SQL 引擎
    • 🦅 TokuDB
  • 分布式数据库
    • 🐪 TiDB
    • 🐐 MemDB
    • 🐫 Oceanbase

 

数据库分类对比

ACID 规则

  • 原子性( A )

一个事务的所有系列操作步骤被看成一个动作,所有的步骤要么全部完成,要么一个也不会完成。如果在事务过程中发生错误,则会回滚到事务开始前的状态,将要被改变的数据库记录不会被改变。

  • 一致性( C )

一致性是指在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏,即数据库事务不能破坏关系数据的完整性及业务逻辑上的一致性。

  • 隔离性( I )

主要用于实现并发控制,隔离能够确保并发执行的事务按顺序一个接一个地执行。通过隔离,一个未完成事务不会影响另外一个未完成事务。

  • 持久性( D )

一旦一个事务被提交,它应该持久保存,不会因为与其他操作冲突而取消这个事务。

CAP 原理

  • Consistency(一致性): 数据一致更新,所有数据变动都是同步的
  • Availability(可用性): 好的响应性能
  • Partition tolerance(分区耐受性): 可靠性

举例来说在高可用的网站架构中,对于数据基础提出了以下的要求:

  • 分区耐受性

保证数据可持久存储,在各种情况下都不会出现数据丢失的问题。为了实现数据的持久性,不但需要在写入的时候保证数据能够持久存储,还需要能够将数据备份一个或多个副本,存放在不同的物理设备上,防止某个存储设备发生故障时,数据不会丢失。

  • 数据一致性

在数据有多份副本的情况下,如果网络、服务器、软件出现了故障,会导致部分副本写入失败。这就造成了多个副本之间的数据不一致,数据内容冲突。

  • 数据可用性

多个副本分别存储于不同的物理设备的情况下,如果某个设备损坏,就需要从另一个数据存储设备上访问数据。如果这个过程不能很快完成,或者在完成的过程中需要停止终端用户访问数据,那么在切换存储设备的这段时间内,数据就是不可访问的。

————————————————

版权声明:本文为CSDN博主「linux地平线」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_42142260/article/details/120211565

0条评论
0 / 1000
我是小朋友
80文章数
5粉丝数
我是小朋友
80 文章 | 5 粉丝

关系型数据库, NoSQL 数据库, NewSQL 数据库权威整理

2022-06-29 09:40:59
92
0

👀 数据库分类

  • 数据库分类对比
  • ACID 规则
  • CAP 原理

🦩 关系型数据库

  • 🦈 MySQL
  • 🐬 MariaDB
  • 🐋 Percona Server

🦉 NoSQL 数据库

  • 键值(Key-Value)存储数据库
    • 🐝 Redis
    • 🦗 RocksDB
  • 列存储数据库
    • 🦕 Cassandra
  • 文档型数据库
    • 🦜 CouchDB
    • 🦢 MongoDb

🦊 NewSQL 数据库

  • SQL 引擎
    • 🦅 TokuDB
  • 分布式数据库
    • 🐪 TiDB
    • 🐐 MemDB
    • 🐫 Oceanbase

 

数据库分类对比

ACID 规则

  • 原子性( A )

一个事务的所有系列操作步骤被看成一个动作,所有的步骤要么全部完成,要么一个也不会完成。如果在事务过程中发生错误,则会回滚到事务开始前的状态,将要被改变的数据库记录不会被改变。

  • 一致性( C )

一致性是指在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏,即数据库事务不能破坏关系数据的完整性及业务逻辑上的一致性。

  • 隔离性( I )

主要用于实现并发控制,隔离能够确保并发执行的事务按顺序一个接一个地执行。通过隔离,一个未完成事务不会影响另外一个未完成事务。

  • 持久性( D )

一旦一个事务被提交,它应该持久保存,不会因为与其他操作冲突而取消这个事务。

CAP 原理

  • Consistency(一致性): 数据一致更新,所有数据变动都是同步的
  • Availability(可用性): 好的响应性能
  • Partition tolerance(分区耐受性): 可靠性

举例来说在高可用的网站架构中,对于数据基础提出了以下的要求:

  • 分区耐受性

保证数据可持久存储,在各种情况下都不会出现数据丢失的问题。为了实现数据的持久性,不但需要在写入的时候保证数据能够持久存储,还需要能够将数据备份一个或多个副本,存放在不同的物理设备上,防止某个存储设备发生故障时,数据不会丢失。

  • 数据一致性

在数据有多份副本的情况下,如果网络、服务器、软件出现了故障,会导致部分副本写入失败。这就造成了多个副本之间的数据不一致,数据内容冲突。

  • 数据可用性

多个副本分别存储于不同的物理设备的情况下,如果某个设备损坏,就需要从另一个数据存储设备上访问数据。如果这个过程不能很快完成,或者在完成的过程中需要停止终端用户访问数据,那么在切换存储设备的这段时间内,数据就是不可访问的。

————————————————

版权声明:本文为CSDN博主「linux地平线」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_42142260/article/details/120211565

文章来自个人专栏
云知识的搬运工
224 文章 | 7 订阅
0条评论
0 / 1000
请输入你的评论
0
0