RAID详解

一、RAID存储是什么?

RAID 存储(Redundant Arrays of Independent Disks,独立磁盘冗余阵列)是一种通过将多个独立的物理磁盘组合在一起,以实现更高的存储性能、数据可靠性和容错能力的技术。其主要目的是解决单个磁盘在容量、性能和可靠性方面的限制。通过不同的 RAID 级别和配置方式,可以满足不同的应用需求。

RAID 存储技术广泛应用于服务器、数据中心、企业存储系统等对数据存储有较高要求的场景,能够有效地提升数据处理效率,保障数据的完整性和可用性。RAID 存储根据不同的配置方式和功能特点,分为多个不同的级别,如常见的 0、1、5、6、10 和50 等。

RAID如何工作

RAID 的工作原理较为复杂,一般记住三个关键词即可:

条带化

在 RAID 0 级别中较为常见,它将数据分成多个小块,然后依次分布存储在不同的磁盘上。这样一来,多个磁盘能够同时进行读写操作,从而大幅提高了数据的传输速度,显著提升了系统的性能。

镜像

RAID 1 是典型的镜像模式,它将相同的数据同时写入两个或更多的磁盘中。这意味着如果其中一个磁盘出现故障,另一个磁盘上仍有完整的数据副本,从而保证了数据的安全性和可用性,但这种方式相对来说会牺牲一定的存储容量。

奇偶校验

例如在 RAID 5 和 RAID 6 中,数据和用于校验的信息分散存储在不同的磁盘上。当某个磁盘发生故障时,通过剩余磁盘上的数据和校验信息,可以计算并恢复出故障磁盘中的数据,从而实现了容错功能。

RAID 控制器或驱动程序在其中起到了至关重要的管理作用。它们负责协调磁盘之间的数据分配、读写操作以及故障处理等任务,确保整个 RAID 系统的稳定运行。

二、RAID 0

RAID 0,又称条带化(Striping),是 RAID 家族中最基础的一种。它的主要目的是提升数据读写速度,但在数据安全性方面没有任何保障。RAID 0 通过将数据分割成多个条带

(Stripes),并将这些条带分别写入不同的磁盘中,从而提高数据的读写速度。与其他 RAID 级别不同,RAID 0 并不提供数据冗余或错误校正机制,因此它无法提高数据的可靠性

在 RAID 0 配置中,数据被分成小块(称为条带),这些条带按顺序写入不同的磁盘。例如,如果有两个磁盘,数据块 A 会写入磁盘 1,数据块 B 会写入磁盘 2,接着数据块 C 再写入磁盘 1,以此循环。

条带化是 RAID 0 的核心机制。通过将数据分成条带并分布到多个磁盘上,可以同时进行多个读写操作,从而显著提升数据传输速度

假设有一个 RAID 0 阵列包含四个磁盘,每个条带大小为 64KB。当一个 256KB 的文件写入 RAID 0 阵列时,它将被分成四个条带,分别写入四个磁盘:

  • 条带 1(64KB)写入磁盘 1

  • 条带 2(64KB)写入磁盘 2

  • 条带 3(64KB)写入磁盘 3

  • 条带 4(64KB)写入磁盘 4

由于数据被分布在多个磁盘上,读取和写入操作可以并行进行,显著提高了性能。

优点

1、高性能:由于数据分布在多个磁盘上,读写速度显著提高。多个磁盘可以同时进行读写操作,大大提升了数据传输速率。

2、容量利用率高:RAID 0 不提供数据冗余,因此所有磁盘的存储容量都可以用于存储数据。

缺点

1、无数据冗余:RAID 0 不提供数据冗余或错误校正机制,任何一个磁盘的故障都会导致整个阵列的数据丢失。

2、数据恢复困难:由于没有冗余数据,无法通过 RAID 0 阵列恢复丢失的数据。如果一个磁盘故障,需要从备份中恢复数据。

常见的应用场景

RAID 0 适用于对性能要求高,但对数据安全要求低的场景。

1、临时数据存储:例如临时文件、缓存文件等,这些数据可以在磁盘故障时重新生成或恢复。

2、视频编辑:在视频编辑过程中,RAID 0 可以提供高性能的数据传输,满足视频素材的快速读取和写入需求。

3、游戏应用:对于一些大型游戏,RAID 0 可以显著缩短加载时间,提高游戏体验。

维护建议

1、定期备份:由于 RAID 0 无法恢复丢失的数据,定期备份至关重要。建议使用自动化备份工具,定期将数据备份到外部存储设备或云存储。

2、监控硬盘状态:使用 SMART(自监控、分析和报告技术)工具监控硬盘的健康状态,及时发现潜在问题并采取措施。

3、性能监控:使用磁盘性能监控工具,定期检查 RAID 0 阵列的读写速度,确保其保持在预期水平。

4、维护计划:制定定期维护计划,包括清理磁盘、更新固件和检查连接线等,以确保 RAID 0 阵列的长期稳定运行。

三、RAID 1

RAID 1,也称为镜像(Mirroring),是一种提供高数据冗余和可靠性的 RAID 级别。RAID 1 通过将相同的数据写入两个或多个磁盘,确保数据在一个磁盘发生故障时仍然可以从另一个磁盘恢复。RAID 1 的主要目的是提供数据冗余和可靠性。它通过将每个数据块同时写入两个或多个磁盘,确保数据有多个副本。当其中一个磁盘出现故障时,另一个磁盘上的数据副本可以立即接管,从而避免数据丢失。

在 RAID 1 配置中,所有写入操作都会同时进行在两个或多个磁盘上。这意味着每个磁盘都有相同的数据副本,确保任何一个磁盘发生故障时,数据都可以从另一个磁盘上恢复。

镜像是 RAID 1 的核心机制。通过将数据实时复制到多个磁盘,RAID 1 提供了高度的数据冗余

假设有一个 RAID 1 阵列包含两个磁盘。当一个文件被写入 RAID 1 阵列时,它将同时写入两个磁盘:

  • 数据块 A 写入磁盘 1

  • 数据块 A 写入磁盘 2

由于两个磁盘上都有相同的数据,当其中一个磁盘发生故障时,数据可以从另一个磁盘上恢复。

优点

1、高数据可靠性:RAID 1 提供数据冗余,任何一个磁盘发生故障,数据都可以从另一个磁盘上恢复。

2、读性能提升:读取操作可以从两个磁盘中并行读取,提高读取速度。

3、简单易用:RAID 1 配置和管理相对简单,不需要复杂的奇偶校验计算。

缺点

1、写性能稍低:由于写入操作需要同时写入两个磁盘,速度稍慢。

2、存储效率低:只有一半的存储容量可用,另一半用于数据冗余。

3、成本较高:需要两倍的存储设备,增加了硬件成本。

常见的应用场景

RAID 1 适用于对数据安全性要求高的场景。

1、操作系统驱动器:RAID 1 常用于存储操作系统,以确保系统的可靠性和可用性。

2、重要数据库:用于存储重要的数据库,确保数据在任何磁盘故障时都能得到保护。

3、关键业务应用:用于关键业务应用的数据存储,确保数据高可用性。

维护建议

1、定期检查磁盘状态:使用 SMART(自监控、分析和报告技术)工具监控硬盘的健康状态,及时发现潜在问题并采取措施。

2、定期备份:虽然 RAID 1 提供数据冗余,但定期备份仍然重要,特别是在发生人为错误或灾难性事件时。

3、性能监控:使用磁盘性能监控工具,定期检查 RAID 1 阵列的读写速度,确保其保持在预期水平。

4、维护计划:制定定期维护计划,包括清理磁盘、更新固件和检查连接线等,以确保 RAID 1 阵列的长期稳定运行。

四、RAID 5

RAID 5 是一种常用的 RAID 级别,它在性能、存储效率和数据冗余之间提供了平衡。RAID 5 通过将数据和奇偶校验信息分布在多个磁盘上,提供了良好的数据保护和读写性能。

RAID 5 通过将数据和奇偶校验信息分布在多个磁盘上,实现数据冗余和故障恢复能力。RAID 5 最少需要三个磁盘,其中数据块奇偶校验信息条带化存储在所有磁盘上。这种配置提供了较高的存储效率和数据可靠性。

在 RAID 5 配置中,数据和奇偶校验信息按条带分布在所有磁盘上。当一个磁盘发生故障时,可以通过剩余磁盘上的数据和奇偶校验信息重建丢失的数据。

RAID 5 的核心机制是条带化和奇偶校验。通过将数据和奇偶校验信息分布在所有磁盘上,可以同时进行多个读写操作,提高性能。

假设有一个 RAID 5 阵列包含四个磁盘。当一个文件被写入 RAID 5 阵列时,数据和奇偶校验信息会被分布在所有磁盘上:

  • 数据块 A 写入磁盘 1

  • 数据块 B 写入磁盘 2

  • 数据块 C 写入磁盘 3

  • 奇偶校验块 P 写入磁盘 4

在下一组条带中,奇偶校验块会移动到不同的磁盘,从而均衡分布。

优点

1、高存储效率:RAID 5 的存储效率高,只损失一个磁盘的容量用于存储奇偶校验信息。

2、数据冗余:RAID 5 提供数据冗余,任何一个磁盘发生故障,数据都可以通过奇偶校验信息重建。

3、读性能良好:读取操作可以并行进行,提高了读取速度。

缺点

1、写性能较低:由于需要计算和写入奇偶校验信息,写入速度较慢。

2、重建时间长:在一个磁盘故障后,重建数据的过程耗时较长,期间系统性能可能受到影响。

3、复杂性较高:配置和管理相对复杂,尤其是在磁盘故障和数据重建时。

常见的应用场景

RAID 5 适用于需要高存储效率和数据冗余的场景。

1、文件服务器:RAID 5 常用于文件服务器,提供高存储效率和数据保护。

2、数据仓库:适用于需要大量存储空间和数据冗余的数据仓库应用。

3、企业备份:用于企业数据备份,确保数据在磁盘故障时能够恢复。

维护建议

1、定期检查磁盘状态:使用 SMART(自监控、分析和报告技术)工具监控硬盘的健康状态,及时发现潜在问题并采取措施。

2、定期备份:虽然 RAID 5 提供数据冗余,但定期备份仍然重要,特别是在发生人为错误或灾难性事件时。

3、性能监控:使用磁盘性能监控工具,定期检查 RAID 5 阵列的读写速度,确保其保持在预期水平。

4、维护计划:制定定期维护计划,包括清理磁盘、更新固件和检查连接线等,以确保 RAID 5 阵列的长期稳定运行。

五、RAID 6

RAID 6 是一种增强版的 RAID 5,通过增加额外的奇偶校验块来提供更高的数据冗余和故障恢复能力。RAID 6 可以在最多两个磁盘同时发生故障时仍然确保数据的完整性。RAID 6 在 RAID 5 的基础上,增加了第二个独立的奇偶校验块,这使得 RAID 6 能够在两个磁盘同时发生故障时仍然保持数据完整性。RAID 6 最少需要四个磁盘,其中数据和两个奇偶校验块条带化存储在所有磁盘上。

在 RAID 6 配置中,数据和两个独立的奇偶校验块按条带分布在所有磁盘上。当一个或两个磁盘发生故障时,可以通过剩余磁盘上的数据和奇偶校验块重建丢失的数据。

RAID 6 的核心机制是条带化和双奇偶校验。通过将数据和两个独立的奇偶校验块分布在所有磁盘上,可以同时进行多个读写操作,提高性能,并提供更高的故障恢复能力

假设有一个 RAID 6 阵列包含四个磁盘。当一个文件被写入 RAID 6 阵列时,数据和两个奇偶校验块会被分布在所有磁盘上:

  • 数据块 A 写入磁盘 1

  • 数据块 B 写入磁盘 2

  • 奇偶校验块 P 写入磁盘 3

  • 奇偶校验块 Q 写入磁盘 4

在下一组条带中,奇偶校验块会移动到不同的磁盘,从而均衡分布。

优点

1、高数据冗余:RAID 6 提供双奇偶校验,可以在两个磁盘同时发生故障时仍然保持数据完整性。

2、高存储效率:RAID 6 的存储效率高于 RAID 1,但低于 RAID 5,只损失两个磁盘的容量用于存储奇偶校验信息。

3、读性能良好:读取操作可以并行进行,提高了读取速度。

缺点

1、写性能较低:由于需要计算和写入两个奇偶校验块,写入速度较慢。

2、重建时间长:在一个或两个磁盘故障后,重建数据的过程耗时较长,期间系统性能可能受到影响。

3、复杂性较高:配置和管理相对复杂,尤其是在磁盘故障和数据重建时。

常见的应用场景

RAID 6 适用于需要高存储效率和高数据冗余的场景。

1、企业级存储系统:RAID 6 常用于企业级存储系统,提供高存储效率和数据保护。

2、大型数据中心:适用于需要大量存储空间和高数据冗余的大型数据中心应用。

3、长时间在线的系统:用于需要长时间在线运行且数据可靠性要求高的系统,如银行系统和电信系统。

维护建议

1、定期检查磁盘状态:使用 SMART(自监控、分析和报告技术)工具监控硬盘的健康状态,及时发现潜在问题并采取措施。

2、定期备份:虽然 RAID 6 提供数据冗余,但定期备份仍然重要,特别是在发生人为错误或灾难性事件时。

3、性能监控:使用磁盘性能监控工具,定期检查 RAID 6 阵列的读写速度,确保其保持在预期水平。

4、维护计划:制定定期维护计划,包括清理磁盘、更新固件和检查连接线等,以确保 RAID 6 阵列的长期稳定运行。

六、RAID 10

RAID 10(也称为 RAID 1+0)是一种结合了 RAID 1 和 RAID 0 优点的 RAID 级别。它通过将数据镜像和条带化,提供了高数据冗余和出色的性能。RAID 10 常用于需要高可靠性和高性能的应用场景。RAID 10 通过将 RAID 1 的镜像技术和 RAID 0 的条带化技术结合在一起,实现了数据冗余和高性能。RAID 10 最少需要四个磁盘,先将数据镜像,然后对镜像后的数据进行条带化。这样,RAID 10 在提供数据冗余的同时,还能提高读写性能。

在 RAID 10 配置中,数据首先被镜像,然后再对镜像后的数据进行条带化。这种配置确保了数据的高可用性和高性能。RAID 10 的核心机制是镜像和条带化。通过先镜像数据,然后对镜像后的数据进行条带化,可以同时实现数据冗余和高性能。

假设有一个 RAID 10 阵列包含四个磁盘。当一个文件被写入 RAID 10 阵列时,数据会被镜像到两个磁盘,然后再进行条带化:

  • 数据块 A 写入磁盘 1 和磁盘 2

  • 数据块 B 写入磁盘 3 和磁盘 4

  • 数据块 C 写入磁盘 1 和磁盘 2

  • 数据块 D 写入磁盘 3 和磁盘 4

优点

1、高数据冗余:RAID 10 提供镜像数据冗余,确保任何一个磁盘发生故障时,数据都可以从镜像磁盘上恢复。

2、高读写性能:由于条带化技术,RAID 10 提供了优异的读写性能。

3、快速故障恢复:在一个磁盘发生故障时,RAID 10 可以快速恢复数据,而不需要重建整个阵列。

缺点

1、存储效率低:RAID 10 的存储效率较低,因为只有一半的存储容量可用,另一半用于镜像数据冗余。

2、成本较高:需要两倍的存储设备,增加了硬件成本。

3、需要更多磁盘:RAID 10 最少需要四个磁盘才能实现其功能。

常见的应用场景

RAID 10 适用于需要高数据可靠性和高性能的场景。

1、数据库服务器:RAID 10 常用于数据库服务器,提供高读写性能和数据冗余。

2、虚拟化环境:适用于需要高性能和高可靠性的虚拟化环境。

3、高性能计算:用于需要高数据吞吐量和可靠性的高性能计算应用。

维护建议

1、定期检查磁盘状态:使用 SMART(自监控、分析和报告技术)工具监控硬盘的健康状态,及时发现潜在问题并采取措施。

2、定期备份:虽然 RAID 10 提供数据冗余,但定期备份仍然重要,特别是在发生人为错误或灾难性事件时。

3、性能监控:使用磁盘性能监控工具,定期检查 RAID 10 阵列的读写速度,确保其保持在预期水平。

4、维护计划:制定定期维护计划,包括清理磁盘、更新固件和检查连接线等,以确保 RAID 10 阵列的长期稳定运行。

七、RAID 50

RAID 50(也称为 RAID 5+0)是一种将 RAID 5 和 RAID 0 结合在一起的 RAID 级别。通过将RAID 5 阵列条带化,RAID 50 提供了高存储效率、数据冗余和良好的性能。RAID 50常用于需要高存储容量和可靠性的企业级存储系统。RAID 50 是将多个 RAID 5 阵列组合在一起,然后对这些阵列进行条带化。RAID 50 最少需要六个磁盘,其中每个 RAID 5 阵列包含三个磁盘。通过将RAID 5 阵列条带化,RAID 50 提供了 RAID 0 的性能优势RAID 5 的数据冗余

 在 RAID 50 配置中,多个 RAID 5 阵列首先创建,每个 RAID 5 阵列提供奇偶校验和数据冗余。然后,这些 RAID 5 阵列被条带化,形成一个更大的 RAID 50 阵列。这种配置确保了数据的高可用性和高性能。RAID 50 的核心机制是条带化和奇偶校验。通过将多个 RAID 5 阵列组合并条带化,可以同时实现数据冗余和高性能。

假设有一个 RAID 50 阵列包含六个磁盘,分成两个 RAID 5 阵列,每个 RAID 5 阵列包含三个磁盘。当一个文件被写入 RAID 50 阵列时,数据会首先写入 RAID 5 阵列,然后进行条带化:

  • RAID 5 阵列 1:数据块 A、B、C 和奇偶校验块 P

  • RAID 5 阵列 2:数据块 D、E、F 和奇偶校验块 Q

条带化的数据块 A 和 D 会被写入不同的磁盘,从而提高读写性能。

优点

1、高存储效率:RAID 50 结合了 RAID 5 的存储效率和 RAID 0 的性能优势。

2、高数据冗余:RAID 50 提供奇偶校验数据冗余,确保任何一个磁盘发生故障时,数据都可以恢复。

3、高读写性能:由于条带化技术,RAID 50 提供了优异的读写性能。

4、容错能力强:在每个 RAID 5 阵列中允许一个磁盘故障,不会导致整个 RAID 50 阵列的数据丢失。

缺点

1、复杂性较高:配置和管理相对复杂,尤其是在磁盘故障和数据重建时。

2、重建时间长:在一个或多个磁盘故障后,重建数据的过程耗时较长,期间系统性能可能受到影响。

3、成本较高:需要更多的硬盘和更复杂的 RAID 控制器,增加了硬件成本。

常见的应用场景

1、企业级存储系统:RAID 50 常用于企业级存储系统,提供高存储效率和数据保护。

2、大型数据库:适用于需要高性能和高数据冗余的大型数据库应用。

3、高性能计算:用于需要高数据吞吐量和可靠性的高性能计算应用。

维护建议

1、定期检查磁盘状态:使用 SMART(自监控、分析和报告技术)工具监控硬盘的健康状态,及时发现潜在问题并采取措施。

2、定期备份:虽然 RAID 50 提供数据冗余,但定期备份仍然重要,特别是在发生人为错误或灾难性事件时。

3、性能监控:使用磁盘性能监控工具,定期检查 RAID 50 阵列的读写速度,确保其保持在预期水平。

4、维护计划:制定定期维护计划,包括清理磁盘、更新固件和检查连接线等,以确保 RAID 50 阵列的长期稳定运行。

八、RAID 级别对比

RAID 级别磁盘要求数据冗余容错能力读性能写性能存储效率应用场景优点缺点
RAID 0≥ 20100%高性能计算、非关键数据存储高读写性能、全部容量利用无数据冗余,任何磁盘故障导致数据丢失
RAID 1≥ 2150%关键数据存储、操作系统盘高数据冗余、易于实现存储效率低,成本高
RAID 5≥ 31中等(N-1)/N文件服务器、应用服务器数据冗余、较高存储效率写性能较低,重建时间长
RAID 6≥ 42中等(N-2)/N高可靠性存储、企业存储系统高容错能力、数据冗余写性能较低,重建时间更长
RAID 10≥ 4N/250%数据库服务器、虚拟化环境高读写性能、高数据冗余存储效率低,成本高
RAID 50≥ 6每组1个(N-2)/N企业级存储系统、大型数据库高存储效率、高读写性能配置复杂,重建时间长

九、总结 

RAID 0:速度之选

作为入门级RAID配置,RAID 0通过数据条带化(striping)技术,将数据分散存储于多个硬盘上,显著提升了读写速度。然而,它并未提供任何数据冗余,一旦阵列中任一硬盘故障,所有数据都将丢失,因此适用于对数据安全性要求不高,但追求极致性能的场景。

RAID 1:镜像的安全保障

与RAID 0截然不同,RAID 1采用镜像(mirroring)策略,将数据完全复制到两个或更多硬盘上,确保了即使单个硬盘故障,数据依然完好无损。虽然牺牲了一定的存储容量,但其提供的高数据安全性使其成为对数据完整性有严格要求的用户的首选。

RAID 5:平衡之道

RAID 5结合了RAID 0的速度优势和RAID 1的数据保护特性,通过奇偶校验(parity)分布在所有硬盘上,允许单个硬盘故障而不丢失数据。它在提供数据冗余的同时,最大限度地利用了存储空间,是中小企业和服务器常用的配置。

RAID 6:双保险的高可靠性

RAID 6是在RAID 5基础上进一步增强了数据保护能力,使用两个独立的奇偶校验块分布于不同硬盘,能够容忍两块硬盘同时故障的情况,特别适合于对数据安全有极高要求且硬盘数量较多的环境。

RAID 10(1+0):速度与安全并重

RAID 10是RAID 1和RAID 0的组合,先创建镜像对,再进行条带化,提供了卓越的读写性能和高度的数据冗余。尽管成本较高,但对于需要高速度和高可靠性的关键业务应用来说,RAID 10无疑是理想选择。

RAID 50(5+0):高性能与高可用性的融合

作为RAID 5和RAID 0的高级组合,RAID 50首先创建多个RAID 5阵列,然后将这些阵列条带化。它在保持良好读写性能的同时,提高了容错能力和扩展性,尤其适合大规模数据存储系统,能够在多硬盘环境中提供更高级别的数据保护。

精简记忆:

  • RAID 0 提供高性能但无数据冗余,适用于非关键数据存储;

  • RAID 1 提供高数据冗余,但存储效率低,适用于关键数据存储;

  • RAID 5 和 RAID 6 提供较高的存储效率和数据冗余,适用于企业级存储系统;

  • RAID 10 提供高性能和高数据冗余,但成本较高,适用于需要高性能和高可靠性的场景;

  • RAID 50 结合了 RAID 5 和 RAID 0 的优点,适用于需要高存储效率和高性能的企业级存储系统。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/771206.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

tapd 与国内外主流的8大项目管理软件大对比

对比Tapd与8大项目管理工具:PingCode、Worktile、Redmine、Teambition、广联达、Jira、禅道、飞书。 Tapd 是腾讯推出的一款敏捷开发管理工具,特别适合那些需要高效协作和快速迭代的敏捷开发团队。它支持多种敏捷方法论,包括Scrum和Kanban&am…

liunx文件系统,日志分析

文章目录 1.inode与block1.1 inode与block概述1.2 inode的内容1.3 文件存储1.4 inode的大小1.5 inode的特殊作用 2.硬链接与软链接2.1链接文件分类 3.恢复误删除的文件3.1 案例:恢复EXT类型的文件3.2 案例:恢复XFS类型的文件3.2.1 xfsdump使用限制 4.分析日志文件4.1日志文件4.…

Android10以上实现获取设备序列号功能

Android10以上实现获取设备唯一标识,目前只支持华为和荣耀设备。实现原理:通过无障碍服务读取序列号界面。 public class DeviceHelper implements Application.ActivityLifecycleCallbacks {static final String TAG "WADQ_DeviceHelper";s…

无人机智能追踪反制系统技术详解

随着无人机技术的飞速发展,无人机在各个领域的应用越来越广泛。然而,无人机的无序飞行和非法使用也带来了一系列安全隐患和威胁。因此,无人机智能追踪反制系统应运而生,成为维护公共安全和防止无人机滥用的重要工具。本文将详细介…

SPI四种模式--极性与相位

SPI的四种模式:相位和极性 极性 定义时钟空闲状态: CPOL0:时钟线在空闲状态为低电平 CPOL1:时钟线在空闲状态为高电平 这个设置决定了设备不进行通信时时钟线的状态。 兼容性: 不同的SPI设备可能需要不同的时钟极性…

Spring Boot 的机场投诉管理平台-计算机毕业设计源码22030

摘要 随着航空运输业的迅速发展,机场的客流量不断增加,旅客对机场服务的质量和效率也提出了更高的要求。为了提高机场的服务质量,及时处理旅客的投诉,建立一个高效、便捷的机场投诉管理平台显得尤为重要。 本项目旨在设计与实现一…

飞利浦的台灯值得入手吗?书客、松下多维度横评大分享!

随着生活品质的持续提升,人们对于健康的追求日益趋向精致与高端化。在这一潮流的推动下,护眼台灯以其卓越的护眼功效与便捷的操作体验,迅速在家电领域崭露头角,更成为了众多家庭书房中不可或缺的视力守护者。这些台灯以其精心设计…

AIGC对设计师积极性的影响

随着科技的迅猛发展,生成式人工智能(AIGC)工具正逐渐深入设计的每个角落,对设计师的工作方式和思维模式产生了深远的影响。AIGC不仅极大提升了设计师的工作效率,更激发了他们的创新思维,为设计行业带来了翻…

java 基础之 反射技术_java 程序src阶段 class对象阶段 run阶段3个阶段

System.out.println(in); } publicClass[] aa1(String name, int[] password){ returnnew Class[]{String.class} ; } privatestatic void aa1(int num){ System.out.println(num“静态方法”); } public static void main(String[] args){ System.out.println(“main”…

MySQL单表千万级数据查询优化大家怎么说(评论有亮点)

题图来自APOD 上次写了一篇MySQL优化实战的文章“MySQL千万级数据从190秒优化到1秒全过程”。 这篇文章主要还是在实战MySQL优化,所以从造数据到查询SQL优化SQL都没有业务或者其它依赖,优化的技巧也不涉及软件架构就是纯SQL优化。 由于笔者经验有限和…

mysql:部署MySQL 8.0 环境

mysql网址:MySQL 点击 MySQL Community Server 选择合适的版本 选择8.0版本 下载完成,点击mysql-installer-community-8.0.26.0.msi文件,打开安装向导。 选择自定义安装类型 打开“Select Products” 窗口,可以定制需要安装的产…

MySQL学习(8):约束

1.什么是约束 约束是作用于表中字段上的规则,以限制表中数据,保证数据的正确性、有效性、完整性 约束分为以下几种: not null非空约束限制该字段的数据不能为nullunique唯一约束保证该字段的所有数据都是唯一、不重复的primary key主键约束…

Oracle数据库中RETURNING子句

RETURNING子句允许您检索插入、删除或更新所修改的列(以及基于列的表达式)的值。如果不使用RETURNING,则必须在DML语句完成后运行SELECT语句,才能获得更改列的值。因此,RETURNING有助于避免再次往返数据库,…

EtherCAT通讯介绍

一、EtherCAT简介 EtherCAT(Ethernet for Control Automation Technology)是一种实时以太网技术,是由德国公司Beckhoff Automation在2003年首次推出的。它是一种开放的工业以太网标准,被设计用于满足工业自动化应用中的高性能和低…

【JVM排查问题】JProfiler性能分析工具连接远程服务器Docker容器中的Java服务

1、下载JProfiler https://www.ej-technologies.com/download/jprofiler/version_13 下载Windows版本以及Linux版本 Windows用于可视化、Linux用于在Docker容器中启动 2、将Linux版本的JProfiler上传到Docker容器中,宿主机cp命令到容器中 docker cp /home/data/s…

项目管理实用表格与应用【项目文件资料分享】

项目管理基础知识 项目管理可分为五大过程组(启动、规划、执行、监控、收尾)十大知识领域,其中包含49个子过程 项目十大知识领域分为:项目整合管理、项目范围管理、项目进度管理、项目成本管理、项目质量管理、项目资源管理、项目…

Nginx系列(二)---Mac上的快速使用

一、安装 前置软件&#xff1a;Homebrew 安装方法&#xff1a;终端输入/bin/bash -c "$(curl -fsSL <https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install.sh>)"更新&#xff1a; brew update 设置中科大镜像源&#xff1a;git -C "$(brew --r…

蓝牙模块的使用01,OOOLMF蓝牙模块HC05调试使用01AT设置从机,手机用软件对接

参考资料 https://blog.csdn.net/xia3976/article/details/122199162 1、实验目的 验证蓝牙模块是不是好的&#xff0c;能不能AT指令改变查询配置&#xff1b; 验证设置从机模式&#xff0c;成功之后&#xff0c;用手机现成的蓝牙软件&#xff08;实验室大群里面有&#xff09…

springboot 篮球馆管理系统-计算机毕业设计源码21945

目 录 摘要 1 绪论 1.1选题背景 1.2研究意义 1.3论文结构与章节安排 2 篮球馆管理系统系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 法律可行性分析 2.2 系统功能分析 2.2.1 功能性分析 2.2.2 非功能性分析 2.3 系统用例分析 2.4 …

程序员的职业发展有几个选择?程序员转行的困惑与方向!

面对着日新月异的代码和语言&#xff0c;你是否感到了力不从心&#xff1f;稍有懈怠&#xff0c;就跟不上岗位需要了&#xff1f;身体渐渐的发福&#xff0c;熬夜写代码开始扛不住了吗&#xff1f; 对于老板来说&#xff0c;永远都存在更年轻、更便宜的选择。老实说&#xff0c…