存储与数据库 | 青训营笔记

102 阅读6分钟

存储系统

特点

存储系统是一种用于存储和管理数据的计算机系统。它通常由硬件和软件两部分组成,包括存储设备、存储控制器、存储管理软件等。

存储系统的主要功能是提供数据的持久化存储和高效访问。它可以将数据存储在硬盘、固态硬盘、磁带等存储介质上,并通过存储控制器和存储管理软件来管理数据的存储和访问。

存储系统通常具有以下特点:

  1. 可靠性:存储系统需要保证数据的可靠性,即数据不会因为硬件故障、软件错误等原因丢失或损坏。
  2. 可扩展性:存储系统需要支持数据的扩展,即可以随着数据量的增加而扩展存储容量。
  3. 高性能:存储系统需要提供高效的数据访问和处理能力,以满足不同应用场景的需求。
  4. 安全性:存储系统需要保证数据的安全性,即数据不会被未经授权的用户访问或篡改。

常见的存储系统包括关系型数据库、分布式文件系统、对象存储系统等。这些存储系统在不同的应用场景下具有不同的优缺点,需要根据具体需求进行选择和配置。

存储层级

存储系统通常由多个层级组成,每个层级都有不同的特点和功能。常见的存储系统层级结构包括:

  1. 块设备层:块设备层是存储系统的最底层,负责管理物理存储介质,如硬盘、固态硬盘等。它将物理存储介质划分为多个块,每个块都有唯一的地址。
  2. 文件系统层:文件系统层负责将块设备层的块组织成文件和目录,并提供文件的读写和管理功能。文件系统层通常包括文件系统结构、文件系统缓存、文件系统驱动等组件。
  3. 数据库层:数据库层是一种高级的存储系统层级,它提供了更加复杂和高级的数据管理和查询功能。数据库层通常包括数据库管理系统、数据库引擎、查询优化器等组件。
  4. 分布式存储层:分布式存储层是一种分布式的存储系统层级,它将数据分散存储在多个节点上,提供高可用性和可扩展性。分布式存储层通常包括分布式文件系统、对象存储系统等组件。

不同层级的存储系统具有不同的特点和功能,可以根据具体需求进行选择和配置。

存储系统 - RAID技术

RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)是一种通过将多个磁盘组合起来,以提高数据存储性能、可靠性和容错能力的技术。

RAID技术通过将多个磁盘组合成一个逻辑卷,从而提供了以下几种不同的RAID级别:

  1. RAID 0:将多个磁盘组合成一个大的逻辑卷,提高数据读写性能。RAID 0没有冗余机制,如果其中一个磁盘损坏,整个逻辑卷的数据都将丢失。
  2. RAID 1:将多个磁盘组合成一个逻辑卷,同时将数据复制到多个磁盘上,提高数据的可靠性和容错能力。RAID 1至少需要两个磁盘,其中一个磁盘损坏时,数据仍然可以从另一个磁盘中恢复。
  3. RAID 1+0:结合RAID 0与RAID 1,真实空间利用率只有50%,但是容错很高,写入带宽也很好。
  4. RAID 5:将多个磁盘组合成一个逻辑卷,同时使用奇偶校验码来保护数据的完整性。RAID 5至少需要三个磁盘,其中一个磁盘损坏时,数据仍然可以从其他磁盘中恢复。
  5. RAID 6:类似于RAID 5,但使用两个奇偶校验码来保护数据的完整性。RAID 6至少需要四个磁盘,其中两个磁盘损坏时,数据仍然可以从其他磁盘中恢复。

RAID技术可以提高数据存储的性能、可靠性和容错能力,但也需要考虑成本、复杂度和管理等因素。在选择RAID级别时,需要根据具体需求进行权衡和选择。

数据库

关系型数据库

关系型数据库是一种基于关系模型的数据库,它使用表格来组织和存储数据。在关系型数据库中,数据被组织成一个或多个表格,每个表格由一组列和行组成,列定义了表格中存储的数据类型,行则是具体的数据记录。

关系型数据库的主要特点包括:

  1. 数据结构化:关系型数据库使用表格来组织和存储数据,数据具有结构化的特点,可以方便地进行查询和分析。
  2. 数据一致性:关系型数据库使用事务来保证数据的一致性,即在多个操作之间保持数据的完整性和一致性。
  3. 数据可靠性:关系型数据库使用ACID(原子性、一致性、隔离性、持久性)模型来保证数据的可靠性,即在任何情况下都能保证数据的完整性和可用性。
  4. 数据安全性:关系型数据库提供了多种安全机制,如用户认证、权限控制等,以保护数据的安全性。

常见的关系型数据库包括MySQL、Oracle、SQL Server等。关系型数据库广泛应用于企业级应用、金融、电子商务等领域,具有广泛的应用前景和市场需求。

关系型数据库是存储系统,但也有其他能力,如对结构化数据友好、支持事务(ACID)、支持复杂查询语言。

非关系型数据库

一般不要求严格的结构化的数据库

关系型数据库结构基础

数据库是一种用于存储和管理数据的软件系统。它可以让用户方便地存储、访问和管理数据,从而提高数据的可靠性、安全性和可用性。

数据库通常由以下几个组成部分:

  1. 数据库管理系统(DBMS):是一种软件系统,用于管理数据库的创建、维护和访问。常见的DBMS包括MySQL、Oracle、SQL Server等。
  2. 数据库:是一个结构化的数据集合,由一组表、视图、存储过程等组成。
  3. 表:是数据库中的基本组成单元,用于存储数据。每个表由一组列和行组成,列定义了表中存储的数据类型,行则是具体的数据记录。
  4. 列:是表中的一个字段,用于存储特定类型的数据,如整数、字符串、日期等。
  5. 行:是表中的一个记录,包含了一组数据,每个数据对应表中的一个列。
  6. 主键:是表中的一个列或一组列,用于唯一标识表中的每个记录。
  7. 外键:是表中的一个列或一组列,用于建立表与表之间的关系。
  8. 索引:是一种数据结构,用于加速数据的查找和访问。