RDBMS简介 | 青训营笔记

68 阅读3分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 12 天

简介

RDBMS(关系数据库管理系统)是一种管理数据的软件系统,它使用关系模型来存储和管理数据。这种数据模型使用表(也称为关系)来组织数据,并使用关系代数来查询数据。

特点

  1. 数据的组织:RDBMS 将数据组织成表,每个表由多个列和行组成。每个列都有一个名称和数据类型,并且每个行代表一个记录。
  2. 数据完整性:RDBMS 提供了一种机制来保证数据完整性。例如,它可以强制执行数据类型、唯一性、外键等约束。
  3. ACID 属性:RDBMS 遵循 ACID 原则,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。这些属性确保了数据的可靠性和一致性。
  4. 查询语言:RDBMS 使用 SQL(结构化查询语言)来查询和操作数据。SQL 是一种标准化的语言,可以跨多种 RDBMS 实现。
  5. 可伸缩性:RDBMS 可以处理大量数据并支持高并发性。它们可以水平和垂直扩展以满足不同的性能需求。
  6. 数据备份和恢复:RDBMS 提供了备份和恢复机制,以确保数据的安全性和可用性。

常见的 RDBMS 包括 MySQL、Oracle、SQL Server、PostgreSQL 等。它们被广泛应用于企业应用程序、Web 应用程序、移动应用程序等各种场景中。

区别

  1. 数据模型:RDBMS 使用关系模型,而非关系型数据库使用其他类型的数据模型,例如文档、图形、键值对等。关系模型具有表、行和列的结构,使数据之间的关系更加明确。
  2. 数据一致性:RDBMS 遵循 ACID 原则,即原子性、一致性、隔离性和持久性,可以确保数据的一致性和完整性。而非关系型数据库可能会牺牲一些一致性以提高性能和伸缩性。
  3. 数据查询:RDBMS 使用 SQL 查询语言,而非关系型数据库使用其他查询语言或 API。SQL 可以提供强大的查询能力和灵活性,而其他查询语言或 API 可能需要更多的编程工作来实现相同的结果。
  4. 数据伸缩性:非关系型数据库通常更易于扩展和分布式处理,可以更好地处理大量数据和高并发请求。RDBMS 也可以进行水平和垂直扩展,但可能需要更多的工作来实现。
  5. 数据存储:RDBMS 数据存储在规范化的表中,而非关系型数据库可能使用其他存储方式,如文档、键值对、图形等。

常见的非关系型数据库包括 MongoDB、Cassandra、Redis、Elasticsearch 等。它们在一些特定应用场景下可能比 RDBMS 更加适用,例如存储大量的半结构化或非结构化数据,或需要快速存储和检索数据的应用程序。