数据库类型

2025年5月5日 | 阅读9分钟

什么是数据库?

数据库是存储在数据库服务器中的一组相互关联的数据。

数据库的用途

  • 数据库的主要目的是提供一种快速有效地存储和检索数据库统计信息的方法。
  • 数据库的第二个重要特性是它允许多个用户同时访问数据库,并使数据共享成为可能。
  • 它包含并发控制软件,以确保多个用户同时尝试更新相同的数据。

与基于文件的编程访问相比,数据库访问的主要功能如下

  • 数据库系统保存数据库的完整定义或描述以及数据库本身。
  • DBMS访问程序是独立于任何特定文件编写的
  • 数据库的每个用户可能需要数据库的单独视图。视图可以是数据库的子集,也可以包含从数据库文件中获取的虚拟数据。
  • DBMS应包含并发控制软件,以确保多个用户尝试以受控的方式更新相同数据,从而使更新结果准确。

用于存储不同类型数据的数据库有多种

Types of Databases

1) 集中式数据库

它是一种将数据存储在集中式数据库系统中的数据库。它方便用户通过各种应用程序从不同位置访问存储的数据。这些应用程序包含身份验证过程,以允许用户安全地访问数据。集中式数据库的一个例子是中央图书馆,它保存着大学/学院内每座图书馆的中央数据库。

集中式数据库的优点

  • 它降低了数据管理的风险,即数据操作不会影响核心数据。
  • 由于数据在一个中央存储库中进行管理,因此维护了数据一致性。
  • 它提供了更好的数据质量,使组织能够建立数据标准。
  • 由于需要较少的供应商来处理数据集,因此成本较低。

集中式数据库的缺点

  • 集中式数据库的规模很大,这增加了检索数据的响应时间。
  • 更新如此庞大的数据库系统并不容易。
  • 如果发生服务器故障,所有数据都将丢失,这可能是一个巨大的损失。

2) 分布式数据库

与集中式数据库系统不同,在分布式系统中,数据分布在组织的各个数据库系统中。这些数据库系统通过通信链接连接。这些链接有助于最终用户轻松访问数据。分布式数据库的示例是Apache Cassandra、HBase、Ignite等。

我们可以进一步将分布式数据库系统划分为

Types of Databases
  • 同构 DDB: 在同一操作系统上运行、使用相同的应用程序进程并拥有相同硬件设备的数据库系统。
  • 异构 DDB: 在不同应用程序过程下、运行在不同操作系统上,并拥有不同硬件设备的数据库系统。

分布式数据库的优点

  • 分布式数据库可以进行模块化开发,即可以通过添加新计算机并将其连接到分布式系统来扩展系统。
  • 一个服务器的故障不会影响整个数据集。

分布式数据库的缺点

  • 由于缺乏合适的通信标准,将不同供应商制造的不同设备连接到平稳运行的网络是不可能的。
  • 由于在网络上的多个位置都可以访问数据,因此控制数据库的完整性可能很困难。

3) 关系数据库

该数据库基于关系数据模型,以行(元组)和列(属性)的形式存储数据,并将它们组合起来形成一个表(关系)。关系数据库使用SQL来存储、操作和维护数据。E.F. Codd于1970年发明了该数据库。数据库中的每个表都有一个键,使其数据独一无二。关系数据库的示例是MySQL、Microsoft SQL Server、Oracle等。

关系数据库的属性

关系模型有以下四个通常称为ACID 属性的属性,其中

A 表示原子性: 这确保数据操作要么成功完成,要么失败。它遵循“全有或全无”的策略。例如,事务要么提交,要么中止。

C 表示一致性: 如果我们对数据执行任何操作,其操作前后的值都应得到保留。例如,事务前后的账户余额应正确,即应保持不变。

I 表示隔离性: 可以有并发用户同时从数据库访问数据。因此,数据之间的隔离应保持隔离。例如,当多个事务同时发生时,一个事务的影响不应被数据库中的其他事务看到。

D 表示持久性: 它确保一旦操作完成并提交数据,数据更改应保持永久。

关系模型的优点

  • 它以简洁的方式呈现数据。
  • 该模型非常容易设计。
  • 它支持数据独立性。
  • 它帮助用户使用查询语言查询数据库。
  • 关系数据模型提供了高级别的数据库安全性。

关系模型的缺点

  • 在关系模型中,数据完整性难以执行,因为没有任何一个应用程序控制数据。
  • 关系模型不适合大型数据库。

4) NoSQL 数据库

NoSQL/Not Only SQL 是一种用于存储各种数据集的数据库类型。它不是关系数据库,因为它不仅以表格形式存储数据,还以多种不同方式存储数据。当对构建现代应用程序的需求增加时,它应运而生。因此,NoSQL 提供了各种数据库技术以应对这些需求。我们可以将 NoSQL 数据库进一步分为以下四种类型

Types of Databases
  1. 键值存储: 这是最简单的数据库存储类型,其中每个项都存储为键(或属性名)及其值。
  2. 面向文档的数据库: 一种用于将数据存储为类似 JSON 文档的数据库。它通过使用与应用程序代码中使用的相同的文档模型格式来帮助开发人员存储数据。
  3. 图数据库: 用于以图状结构存储大量数据。最常见的是,社交网站使用图数据库。
  4. 宽列存储: 它类似于关系数据库中表示的数据。在这里,数据被存储在大的列中,而不是存储在行中。

NoSQL 数据库的优点

  • 它提高了应用程序开发的生产力,因为不需要将数据存储在结构化格式中。
  • 它是管理和处理大型数据集的一个更好的选择。
  • 它提供了高可伸缩性。
  • 用户可以通过键值快速访问数据库中的数据。

NoSQL 数据库的缺点

  • NoSQL 数据库不完全兼容 ACID,这意味着它们不保证数据完整性。
  • NoSQL 数据库无法处理复杂查询。
  • 用于访问数据库的图形用户界面模式工具目前不易获得。

5) 云数据库

一种数据存储在虚拟环境中并在云平台之上运行的数据库类型。它为用户提供各种云计算服务(SaaS、PaaS、IaaS 等)来访问数据库。有许多云平台,但最佳选择是

  • Amazon Web Services (AWS)
  • 微软 Azure
  • Kamatera
  • PhonixNAP
  • ScienceSoft
  • Google Cloud SQL 等。

6) 面向对象的数据库

与层次模型、网络模型或关系型 DBMS 相比,数据管理和应用程序环境变得更加复杂。面向对象的数据库管理系统最适合处理这种复杂的应用程序环境。

该数据库类型使用面向对象的数据库模型方法在数据库系统中存储数据。数据被表示和存储为对象,这些对象类似于面向对象编程语言中使用的对象。

面向对象数据库的优点

  • OODBMS 允许扩展数据库功能及其建模能力。
  • OODBMS 为将现有和未来的 DBMS 集成到单个环境中提供了一个可能的解决方案。

面向对象数据库的缺点

  • 由于每个对象都是一个独立的单元,因此无法显示多个对象之间的关系。
  • OODBMS 通常不支持视图。
  • OODBMS 有几种不同的机制来处理参照完整性,但没有一种与关系模型完全相同。

7) 层次数据库

它是一种以父子关系节点的形式存储数据的数据库。在这里,它以树状结构组织数据。

Types of Databases

数据以记录的形式存储,并通过链接连接。树中的每个子记录只有一个父记录。另一方面,每个父记录可以有多个子记录。

层次模型的优点

  • 层次模型是最早提供 DBMS 所提供数据保护的数据库模型。
  • 该模型基于父子关系,父组件与其下属子组件之间始终存在连接。
  • 当数据库中有大量 1:N 关系且用户需要执行大量事务时,它非常有效。

层次模型的缺点

  • 尽管它设计简单易懂,但实现起来非常复杂。
  • 如果在数据库结构中进行任何更改,则需要更改访问数据库的整个应用程序。
  • 由于结构变化时应用程序也需要改变,因此缺乏结构独立性。
  • 层次模型存在插入、删除、更新不一致的问题,并且检索操作也很困难。

8) 网络数据库

它是通常遵循网络数据模型的数据库。在这里,数据的表示形式是节点,节点之间通过链接连接。与层次数据库不同,它允许每个记录有多个子节点和父节点,形成一个通用的图结构。

网络模型的优点

  • 它简单易于设计。
  • 它支持数据独立性。
  • 由于某个记录只有一个实例,因此有助于消除冗余。
  • 存储记录所需的空间更少。
  • 它支持 DBTG 和 ANSI/SPARC 等各种标准。

网络模型的缺点

  • 网络模型比层次模型更难使用。硬件级别的布局更复杂,因为需要大量的指针来显示所有者记录和子记录之间的关系。
  • 在网络模型中查询数据非常困难。

9) 个人数据库

在用户系统上收集和存储数据定义了个人数据库。此数据库基本设计为单个用户使用。

个人数据库的优点

  • 它简单易于处理。
  • 由于体积小,它占用的存储空间较少。

10) 操作数据库

在实时创建和更新数据库的数据库类型。它基本设计用于执行和处理各种业务的日常数据操作。例如,组织使用操作数据库来管理每日交易。

11) 企业数据库

大型组织或企业使用此数据库来管理大量数据。它有助于组织提高效率。这种数据库允许用户同时访问。

企业数据库的优点

  • 企业数据库支持多进程。
  • 它允许在系统上执行并行查询。

关于数据库类型的常见问题解答

1. 结构化数据和非结构化数据有什么区别?

关键在于结构化数据与非结构化数据的概念。在当今的数字世界中,许多公司需要管理大量非结构化内容,例如电子表格、Word 文档和图像。管理非结构化内容一直很复杂且成本高昂,因为它无法在数据库中进行搜索。

2. 分布式数据库会增加系统的复杂性?

DBA 需要完成额外的工作来确保系统的分布式性质是透明的。还必须完成额外的工作来维护多个独立系统而不是一个大型系统。

3. 解释关系模型的术语?

  • 关系: 关系表示为按行和列组织的表。
  • 属性: 在关系模型中,属性是给表中的列指定的名称。
  • 元组: 关系中的行(包含与属性对应的属性值)称为元组。
  • 域: 属性可以接受的值的可能集合称为域。
  • 度: 关系中的特征数量称为该关系的度。
  • 基数: 在任何指定时间关系中的行数称为该关系的基数。

4. 列出网络、关系和层次数据库模型之间的区别。

层次数据模型网络数据模型关系数据模型
该模型以树状结构组织记录。该模型通过指针将记录链接在一起。该模型以表格形式组织记录。
缺乏数据独立性该模型支持数据独立性。因此,在这一点上它优于层次数据模型。它支持数据独立性的概念

5. 列出 DDBMS 的不同组件?

  • 查询优化
  • 计算机工作站
  • 通信介质
  • 数据处理器
  • 网络硬件和软件组件
  • 事务处理器

下一主题什么是 RDBMS