当前位置: 首页 > news >正文

“RAID0 vs RAID1 vs RAID5 vs RAID6 vs RAID10:哪种RAID级别最适合你的需求?“


概要:

 

RAID(Redundant Array of Independent Disks)是一种数据存储技术,可以将多个硬盘组合起来以提高性能、可靠性和容错能力。下面是几种常见的RAID级别,以及它们的用途和特点。


目录

  1. RAID 0
  2. RAID 1
  3. RAID 5
  4. RAID 6
  5. RAID 10
  6. RAID 50
  7. RAID 60

1. RAID 0

RAID 0将两个或多个硬盘组合成一个虚拟的硬盘,数据被分割成块并分别存储在各个硬盘上。由于数据并行读写,RAID 0可以提高数据访问速度,但是它没有冗余机制,任何一个硬盘故障都会导致数据丢失。RAID 0适用于需要高速数据传输的应用程序,例如视频编辑和游戏。

RAID0最少需要两块硬盘。

RAID0:硬盘利用率为100%。RAID0将数据分散存储在所有硬盘上,没有冗余数据,因此所有硬盘都被充分利用。

 

详细讲解RAID0

RAID0是一种基本的RAID级别,也叫做条带化(striping)RAID。它是将数据块分散地存储在多个硬盘上,以提高数据访问速度和吞吐量的技术。

RAID0至少需要两个硬盘,硬盘被分成相同大小的数据块,每块数据都被分散地存储在所有硬盘上。例如,如果有两个硬盘,每个硬盘大小为500GB,那么可以将数据分成大小为64KB的块,然后将第一个块存储在第一个硬盘上,第二个块存储在第二个硬盘上,第三个块存储在第一个硬盘上,以此类推。

当需要访问数据时,RAID控制器将同时从所有硬盘读取数据块,然后将它们组合成完整的数据块。因为数据被分散存储在多个硬盘上,所以RAID0可以显著提高数据访问速度和吞吐量,尤其是在处理大型文件和对数据访问频繁的应用程序时。

然而,RAID0没有冗余机制,如果其中任何一个硬盘出现故障,整个RAID0阵列的数据都会丢失。此外,由于数据分散存储在多个硬盘上,所以RAID0的可靠性和数据安全性都较低,因此不适合存储关键数据。

总之,RAID0的主要优点是提高数据访问速度和吞吐量,但缺点是没有冗余机制,可靠性和数据安全性较低。RAID0通常用于处理大型文件和需要快速数据访问的应用程序,例如视频编辑、音频处理、科学计算和游戏等。

2. RAID 1

RAID 1将两个硬盘镜像,即将相同的数据完全复制到两个硬盘中。如果其中一个硬盘故障,另一个硬盘可以继续工作并保持数据完整性。RAID 1提供了高可靠性和数据冗余,但是它没有提高数据的读写速度。RAID 1适用于需要数据安全性的应用程序,例如数据库和文件服务器。

RAID1最少需要两块硬盘。

RAID1:硬盘利用率为50%。RAID1将数据复制到两个硬盘上,保留了冗余数据,因此只有一半的硬盘被用于有效存储。

 

详细讲解RAID1

RAID1是一种基本的RAID级别,也称为镜像(mirroring)RAID。它是通过将相同的数据同时存储在两个或多个硬盘上来提供数据冗余和容错能力的技术。

RAID1至少需要两个硬盘,其中一个硬盘被称为主硬盘,另一个硬盘被称为从硬盘。当数据写入主硬盘时,相同的数据块会同时写入从硬盘,因此两个硬盘上存储的数据始终相同。当需要访问数据时,RAID控制器将从任一硬盘读取数据,因为两个硬盘上存储的数据相同,所以读取数据的速度与单个硬盘相同。

RAID1提供了数据冗余和容错能力,如果其中任何一个硬盘出现故障,系统可以继续使用另一个硬盘上的数据,因此RAID1可以提高系统的可靠性和数据安全性。另外,RAID1还可以通过在硬盘故障后立即切换到备用硬盘来提高系统的可用性。

RAID1的缺点是硬盘利用率较低,因为相同的数据被存储在两个硬盘上,因此硬盘利用率为50%。此外,RAID1不能提高数据访问速度或吞吐量,因为数据只存储在两个硬盘上,而不是分散存储在多个硬盘上。

总之,RAID1的主要优点是提供数据冗余和容错能力,可以提高系统的可靠性和数据安全性,适用于存储关键数据。RAID1通常用于小型服务器、个人计算机和笔记本电脑等场景,其中数据安全性是至关重要的。

3. RAID 5

RAID 5将三个或多个硬盘组合成一个虚拟的硬盘,数据被分割成块并存储在各个硬盘上。每个硬盘都存储了一部分数据和一个校验位,用于检查数据的完整性。如果其中一个硬盘故障,RAID 5可以使用校验位重建数据。RAID 5提供了高性能和数据冗余,但是它的写入性能相对较低。RAID 5适用于需要高性能和一定数据安全性的应用程序,例如文件共享和电子邮件服务器。

RAID5最少需要三块硬盘。

RAID5:硬盘利用率为(n-1)/n。其中n是硬盘的数量,RAID5需要至少三个硬盘。RAID5将数据分散存储在所有硬盘上,同时使用一个奇偶校验位来提供冗余数据,因此可以容忍单个硬盘故障。但是,奇偶校验位需要占用一个硬盘的空间,因此硬盘利用率为(n-1)/n。

 

详细讲解RAID5

RAID5是一种常见的RAID级别,它通过将数据和奇偶校验信息分散存储在多个硬盘上,提供了数据冗余和容错能力。RAID5至少需要三个硬盘,并且任意一个硬盘出现故障时,数据都可以被恢复。

RAID5将数据块和奇偶校验信息交错地分散存储在多个硬盘上,其中奇偶校验信息用于检测和修复数据块的错误。例如,如果有三个硬盘,每个硬盘大小为500GB,那么可以将数据分成大小为64KB的块,然后将第一个块存储在第一个硬盘上,第二个块存储在第二个硬盘上,第三个块存储在第三个硬盘上,以此类推。此外,还将奇偶校验信息存储在所有硬盘上,以提供冗余和容错能力。

当需要访问数据时,RAID控制器将同时从所有硬盘读取数据块和奇偶校验信息,并使用它们来检测和修复任何错误。由于数据和奇偶校验信息被分散存储在多个硬盘上,因此RAID5可以在单个硬盘故障时继续运行,并且可以在故障后自动重建数据。

RAID5的优点是提供了数据冗余和容错能力,并且可以通过在多个硬盘上分散数据来提高数据访问速度和吞吐量。此外,RAID5的硬盘利用率相对较高,因为奇偶校验信息占用的硬盘空间相对较少。

然而,RAID5也有一些缺点。首先,在RAID5阵列重建期间,性能可能会降低,因为RAID控制器需要计算奇偶校验信息并将数据重新分散存储在新的硬盘上。其次,如果在重建期间另一个硬盘发生故障,整个RAID5阵列的数据都将无法恢复。因此,RAID5并不适合存储非常关键的数据,建议使用更高级别的RAID级别或其他数据备份和恢复措施来提供更高级别的数据保护。

总之,RAID5是一种常见的RAID级别,提供了数据冗余和容错能力,并可以通过分散数据来提高数据访问速度和吞吐量。RAID5适用于需要提高系统可靠性和数据安全性的中等规模服务器和存储系统,例如小型企业、网站和数据库等。

4. RAID 6

RAID 6与RAID 5类似,但是它使用两个校验位来检查数据的完整性,因此可以容忍两个硬盘的故障。RAID 6提供了更高的数据容错能力和数据冗余,但是它的写入性能相对较低。RAID 6适用于需要高度可靠性和数据安全性的应用程序,例如金融系统和医疗记录。

RAID6最少需要四块硬盘。

RAID6:硬盘利用率为(n-2)/n。其中n是硬盘的数量,RAID6需要至少四个硬盘。RAID6与RAID5类似,但使用两个奇偶校验位提供冗余数据,可以容忍两个硬盘故障。然而,两个奇偶校验位需要占用两个硬盘的空间,因此硬盘利用率为(n-2)/n。

 

详细讲解RAID6

RAID6是一种高级的RAID级别,它通过在数据块和多个奇偶校验信息之间分散存储来提供数据冗余和容错能力。与RAID5类似,RAID6可以在单个硬盘故障时继续运行,并且可以自动重建数据。RAID6需要至少四个硬盘,并且可以容忍任意两个硬盘的故障。

RAID6将数据块和两个奇偶校验信息分散存储在多个硬盘上。奇偶校验信息用于检测和修复数据块的错误。例如,如果有四个硬盘,每个硬盘大小为500GB,那么可以将数据分成大小为64KB的块,然后将第一个块存储在第一个硬盘上,第二个块存储在第二个硬盘上,第三个块存储在第三个硬盘上,第四个块存储在第四个硬盘上,以此类推。此外,还将两个奇偶校验信息存储在所有硬盘上,以提供冗余和容错能力。

当需要访问数据时,RAID控制器将同时从所有硬盘读取数据块和奇偶校验信息,并使用它们来检测和修复任何错误。由于数据和奇偶校验信息被分散存储在多个硬盘上,因此RAID6可以在任意两个硬盘故障时继续运行,并且可以在故障后自动重建数据。

RAID6的优点是提供了更高的数据冗余和容错能力,可以容忍任意两个硬盘故障。此外,RAID6可以通过在多个硬盘上分散数据和奇偶校验信息来提高数据访问速度和吞吐量。此外,RAID6也比RAID5更适合存储大型文件,因为RAID6的奇偶校验信息占用的硬盘空间比RAID5更多。

RAID6的缺点是与RAID5类似,在RAID6阵列重建期间,性能可能会降低,因为RAID控制器需要计算奇偶校验信息并将数据重新分散存储在新的硬盘上。此外,RAID6的硬盘利用率比RAID5更低,因为它需要存储更多的奇偶校验信息。

总之,RAID6是一种高级的RAID级别,提供了更高级别的数据冗余和容错能力,并可以通过分散数据来提高数据访问速度和吞吐量。RAID6适用于需要更高级别的数据保护的大型存储系统,例如大型企业、云存储和视频监控等。

5. RAID 10

RAID 10将多个硬盘组合成两个或多个RAID 1阵列,然后使用RAID 0将它们组合成一个虚拟的硬盘。RAID 10提供了高性能和高可靠性,它的读写性能比RAID 5和RAID 6更好,同时也具备数据冗余机制。RAID 10适用于需要高性能和高可靠性的应用程序,例如数据库和虚拟化服务器。

RAID10最少需要四块硬盘。

RAID10:硬盘利用率为50%。RAID10是将RAID1和RAID0组合而成的,需要至少四个硬盘。RAID10将数据复制到两个硬盘上,然后将这两个硬盘组成RAID0的阵列,因此只有一半的硬盘被用于有效存储。

 

详细讲解RAID10

RAID10是一种高级的RAID级别,又称为RAID1+0或镜像条带化(striped mirroring)RAID。它通过将数据块分散存储在多个硬盘上,并将它们的镜像存储在另外的硬盘上,提供了数据冗余和容错能力。RAID10需要至少四个硬盘,并且可以容忍多个硬盘故障。

RAID10将数据块分成大小相等的条带,并将每个条带的镜像存储在另外的硬盘上。例如,如果有四个硬盘,每个硬盘大小为500GB,那么可以将数据分成大小为64KB的块,并将第一个块存储在第一个硬盘上,第二个块存储在第二个硬盘上,第三个块存储在第三个硬盘上,第四个块存储在第四个硬盘上,以此类推。然后,将第一个硬盘的数据镜像存储在第三个硬盘上,将第二个硬盘的数据镜像存储在第四个硬盘上,以此类推。

当需要访问数据时,RAID控制器将从多个硬盘读取数据块,并将它们组合成完整的数据块。由于数据被分散存储在多个硬盘上,并且每个硬盘都有一个镜像,因此RAID10可以在多个硬盘故障时继续运行,并且可以自动重建数据。

RAID10的优点是提供了更高级别的数据冗余和容错能力,并且可以通过分散数据和使用镜像来提高数据访问速度和吞吐量。与RAID5和RAID6不同,RAID10可以在任意多个硬盘故障时继续运行,并且不需要在重建期间计算奇偶校验信息。此外,RAID10的性能和可靠性比RAID5和RAID6更好,因为数据被分散存储在多个硬盘上,并且每个硬盘都有一个镜像。

RAID10的缺点是硬盘利用率相对较低,因为它需要将数据的镜像存储在另外的硬盘上。此外,RAID10需要至少四个硬盘,因此它的成本比其他RAID级别更高。

总之,RAID10是一种高级的RAID级别,提供了更高级别的数据冗余和容错能力,并可以通过分散数据和使用镜像来提高数据访问速度和吞吐量。RAID10适用于需要更高级别的数据保护和更高性能的存储系统,例如大型企业、数据库和虚拟化服务器等。

6. RAID 50

RAID 50将多个RAID 5阵列组合成一个虚拟的硬盘,它提供了高性能和高容错能力,同时也具备数据冗余机制。RAID 50适用于需要高性能和高可靠性的应用程序,例如大型文件共享和视频流媒体。

RAID50最少需要六块硬盘。

RAID50:硬盘利用率为50%。RAID50将RAID5和RAID0组合而成,需要至少六个硬盘。RAID50将数据分散存储在所有硬盘上,然后将这些RAID5阵列组成RAID0的阵列,因此只有一半的硬盘被用于有效存储。

 

详细讲解RAID50

RAID50是一种高级的RAID级别,它是将RAID5和RAID0结合起来,提供了数据冗余和容错能力以及较高的数据访问速度和吞吐量。RAID50需要至少六个硬盘,并且可以容忍多个硬盘故障。

RAID50将数据块分成大小相等的条带,并将每个条带的奇偶校验信息和镜像分别存储在多个硬盘上。例如,如果有六个硬盘,每个硬盘大小为1TB,那么可以将数据分成大小为64KB的块,并将第一个块存储在第一个硬盘上,第二个块存储在第二个硬盘上,第三个块存储在第三个硬盘上,以此类推。然后,将第一个硬盘的奇偶校验信息和镜像存储在第四个硬盘上,将第二个硬盘的奇偶校验信息和镜像存储在第五个硬盘上,以此类推。

当需要访问数据时,RAID控制器将从多个硬盘读取数据块和奇偶校验信息,并将它们组合成完整的数据块。由于数据和奇偶校验信息被分散存储在多个硬盘上,并且每个硬盘都有一个镜像,因此RAID50可以在多个硬盘故障时继续运行,并且可以自动重建数据。

RAID50的优点是提供了更高级别的数据冗余和容错能力,并且可以通过分散数据和使用镜像来提高数据访问速度和吞吐量。与RAID5和RAID6不同,RAID50可以在多个硬盘故障时继续运行,并且不需要在重建期间计算奇偶校验信息。此外,RAID50的性能比RAID5和RAID6更好,因为它将条带分成更小的块,并且可以在多个硬盘上并行读取和写入数据。

RAID50的缺点是与RAID10类似,硬盘利用率相对较低,因为它需要将数据的镜像存储在另外的硬盘上。此外,RAID50需要至少六个硬盘,因此它的成本比其他RAID级别更高。

总之,RAID50是一种高级的RAID级别,提供了更高级别的数据冗余和容错能力,并可以通过分散数据和使用镜像来提高数据访问速度和吞吐量。RAID50适用于需要更高级别的数据保护和更高性能的存储系统,例如大型企业、数据库和虚拟化服务器等。

7. RAID 60

RAID 60将多个RAID 6阵列组合成一个虚拟的硬盘,它提供了更高的容错能力和更好的性能,同时也具备数据冗余机制。RAID 60适用于需要极高可靠性和高性能的应用程序,例如大型数据库和虚拟化服务器。

RAID60最少需要八块硬盘。

RAID60:硬盘利用率为(n-4)/n。其中n是硬盘的数量,RAID60需要至少八个硬盘。RAID60与RAID6类似,但使用两个RAID6阵列组成RAID0的阵列,可以容忍四个硬盘故障。然而,四个奇偶校验位需要占用四个硬盘的空间,因此硬盘利用率为(n-4)/n。

 

详细讲解RAID60

RAID60是一种高级的RAID级别,它是将RAID6和RAID0结合起来,提供了数据冗余和容错能力以及较高的数据访问速度和吞吐量。RAID60需要至少八个硬盘,并且可以容忍多个硬盘故障。

RAID60将数据块分成大小相等的条带,并将每个条带的奇偶校验信息分别存储在多个硬盘上。例如,如果有八个硬盘,每个硬盘大小为1TB,那么可以将数据分成大小为64KB的块,并将第一个块存储在第一个硬盘上,第二个块存储在第二个硬盘上,第三个块存储在第三个硬盘上,以此类推。然后,将第一个硬盘的奇偶校验信息存储在第五个硬盘上,将第二个硬盘的奇偶校验信息存储在第六个硬盘上,以此类推。接下来,将第五个硬盘和第六个硬盘的奇偶校验信息再次进行奇偶校验,然后将结果存储在第八个硬盘上。

当需要访问数据时,RAID控制器将从多个硬盘读取数据块和奇偶校验信息,并将它们组合成完整的数据块。由于数据和奇偶校验信息被分散存储在多个硬盘上,并且每个硬盘都有一个镜像,因此RAID60可以在多个硬盘故障时继续运行,并且可以自动重建数据。

RAID60的优点是提供了更高级别的数据冗余和容错能力,并且可以通过分散数据和使用奇偶校验信息来提高数据访问速度和吞吐量。与RAID5和RAID6不同,RAID60可以在多个硬盘故障时继续运行,并且不需要在重建期间计算奇偶校验信息。此外,RAID60的性能比RAID5和RAID6更好,因为它将条带分成更小的块,并且可以在多个硬盘上并行读取和写入数据。

RAID60的缺点是与RAID10和RAID50类似,硬盘利用率相对较低,因为它需要将数据和奇偶校验信息的镜像存储在另外的硬盘上。此外,RAID60需要至少八个硬盘,因此它的成本比其他RAID级别更高。

总之,RAID60是一种高级的RAID级别,提供了更高级别的数据冗余和容错能力,并可以通过分散数据和使用奇偶校验信息来提高数据访问速度和吞吐量。RAID60适用于需要更高级别的数据保护和更高性能的存储系统,例如大型企业、数据库和虚拟化服务器等。

总的来说,RAID技术可以提供不同级别的数据冗余、容错能力和性能,应根据具体应用场景和要求选择合适的RAID级别。例如,对于需要高性能的应用程序,可以选择RAID 0或RAID 10;对于需要高可靠性和数据安全性的应用程序,可以选择RAID 1、RAID 5、RAID 6或RAID 60。

今天的分享就到这里了,如果我的分享对你有所帮助,欢迎点赞收藏转发关注!!感谢。

相关文章:

“RAID0 vs RAID1 vs RAID5 vs RAID6 vs RAID10:哪种RAID级别最适合你的需求?“

概要: RAID(Redundant Array of Independent Disks)是一种数据存储技术,可以将多个硬盘组合起来以提高性能、可靠性和容错能力。下面是几种常见的RAID级别,以及它们的用途和特点。 目录 RAID 0RAID 1RAID 5RAID 6RAID…...

【MySQL】Mycat

文章目录 什么是Mycat为什么要用Mycatmycat能干什么各数据库中间件对比Mycat原理数据库中间件逻辑库逻辑表分片表分片规则全局表ER表非分片表分片节点节点主机mycat安装mycat核心配置schema.xmlserver.xmlrule.xml加密明文密码(可选) MyCat读写分离垂直拆…...

Netty中ServerBootstrap类介绍

一、Netty基本介绍 Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。Netty 在保证易于开发的同时还保证了其应用的性能,稳定性和伸缩性。 Netty 是一…...

数字图像处理实验报告

目录 实验二、图像在空间域上的处理方法 实验三、图像在频率域上的处理方法 实验二、图像在空间域上的处理方法 一、实验目的 了解图像亮(灰)度变换与空间滤波的意义和手段;熟悉图像亮(灰)度变换与空间滤波的MATLA…...

【C51】10-基础51单片机的小车项目(51完结)

10.1小车的安装 10.2电机模块的开发(L9110S) 接通 VCC , GND 模块电源指示灯亮, 以下资料来源官方,但是不对,根据下节课实际调试 IA1 输入高电平, IA1 输入低电平,【 OA1 OB1 】电…...

进程、线程、锁阶段总结汇总

目录 进程 线程 锁 由于进程线程和锁的方面比较陌生,并且繁杂,所以简单总结一下学习到的函数API 进程 子进程创建 fork(); 进程结束 exit(); 进程回收 wait(); 进程回收 waitpad(); //函数可以指定进程组中的任意子进程,可以设置特殊…...

Filters.jar图片转素描

链接:https://pan.baidu.com/s/1ATlC2l1I83TPYFomHiWuFg?pwd2vm5 提取码:2vm5...

将MSYS2 MinGW集成到Windows终端

微软开发了一款Windows终端的开源软件,非常好用。安装后在Win7及以上系统会在右键菜单中添加一条“在终端中打开”的命令,非常方便。它默认配置了Windows命令行以及PowerShell,如果安装了Visual Studio 2022还会配置Visual Studio 2022的命令…...

SpringBoot项目使用slf4j的MDC日志打点功能

SpringBoot项目使用slf4j的MDC日志打点功能 物料准备: 1.自定义1个线程MDC打点工具类 2.配置logback打印MDC打点的traceId 3.配置webMVC使用MDC打点 4.配置ThreadPoolTaskExecutor使用MDC打点 5.配置HttpClient使用MDC打点 6.测试MDC日志打点效果 线程mdc打…...

宝塔修改默认端口后面板打不开

1、查看防火墙开启的端口,发现没有开启8888 [rootVM-12-12-centos ~]# firewall-cmd --list-ports 20/tcp 21/tcp 22/tcp 80/tcp 888/tcp 8081/tcp 39000-40000/tcp 8081/udp 2、防火墙开启8888端口 [rootVM-12-12-centos ~]# firewall-cmd --zonepublic --add-por…...

tinkerCAD案例:3.基本按钮

基本按钮 在本课中,您将学习制作具有圆柱形状的基本按钮。 说明 将圆柱体拖动到工作平面。 将其缩小到 2 毫米的高度。 提示: 您可以使用圆柱形状顶部的白点缩小圆柱体。 将其缩小到直径 16 毫米。 这将是按钮的主要形状。 现在我们可以创建允许将纽…...

客户线上反馈:从信息搜集到疑难 bug 排查全流程经验分享

写在前面:本文是我在前端团队的第三次分享,应该很少会有开发者写客户反馈处理流程以及 bug 排查的心得技巧,全文比较长,写了一个多星期大概1W多字(也是我曾经2年工作的总结),如果你有耐心阅读&a…...

悲观锁、乐观锁、自旋锁

悲观锁、乐观锁、自旋锁 (1)乐观锁 乐观锁是一种乐观的思想,即认为读多写少,遇到并发的可能性低,每次拿数据时都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有…...

七、进程地址空间

一、环境变量 (一)概念 环境变量(environment variables):系统当中用做特殊用途的系统变量。 如:我们在编写C/C代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪里,但是照样可…...

浅谈智能微电网供电系统的谐波治理

摘要:智能微电网供电系统的特性容易引发谐波,而谐波导致电力损耗加大,降低供电质量。本文从谐波的产 生原因和危害做出详细阐述,并结合智能微电网提出了治 理谐波的方法和措施。 关键词:智能微电网;谐波危害…...

springboot项目的社区/博客系统

课前导读: 你学完一篇,你就多会一项技能,多多少少对你还是有点帮助的不是吗?~~~ 这是博主网页的url:优文共享社区 开发环境:JDK1.8,IDEA2021,MySQL5.7,Windows11 开发技术…...

go语言基础——函数、结构体、接口

由于go不是一门面向对象的语言,因此在有一些特性上和java是有一些区别的,比如go中就没有类这样的概念。下面来介绍一下go的一些特性。 结构体 结构体类似与java中的类,但又不完全一样。在类中,可以定义字段和方法,但…...

项目集管理—项目集治理

一、概述 项目集治理是实现和执行项目集决策,为支持项目集而制定实践,并维持项目集监督的绩效领域。 本章包括: 项目集治理实践项目集治理角色项目集治理设计与实施 项目集治理包括为了满足组织战略和运营目标的要求,对项目集实…...

MySQL了解之复制(一)

1.1、复制解决的问题 数据复制技术有以下一些特点: (1) 数据分布 (2) 负载平衡(load balancing) (3) 备份 (4) 高可用性(high availability)和容错 1.2、复制如何工作 从高层来看,复制分成三步: (1) master将改变记录到二进制…...

Halcon得出三角形内切圆

Halcon得出三角形内切圆 news2023/5/27 7:14: 目录 一、得出三角形的三个角点二、用类似尺规作图法得出三角形圆心 1、以三角形三角点画出圆形轮廓2、求出三角形轮廓与圆形轮廓之间的交点3、获得角平分线,三边角平分线交点为圆心三、求出圆心到边最短距离即半径 …...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题&#xff08;可多选&#xff09; 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘&#xff1a;专注于发现数据中…...

条件运算符

C中的三目运算符&#xff08;也称条件运算符&#xff0c;英文&#xff1a;ternary operator&#xff09;是一种简洁的条件选择语句&#xff0c;语法如下&#xff1a; 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true&#xff0c;则整个表达式的结果为“表达式1”…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...

【Oracle】分区表

个人主页&#xff1a;Guiat 归属专栏&#xff1a;Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中&#xff0c;新增了一个本地验证码接口 /code&#xff0c;使用函数式路由&#xff08;RouterFunction&#xff09;和 Hutool 的 Circle…...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣&#xff08;LeetCode&#xff09; 思路 右视图是指从树的右侧看&#xff0c;对于每一层&#xff0c;只能看到该层最右边的节点。实现思路是&#xff1a; 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

JVM 内存结构 详解

内存结构 运行时数据区&#xff1a; Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器&#xff1a; ​ 线程私有&#xff0c;程序控制流的指示器&#xff0c;分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的

修改bug思路&#xff1a; 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑&#xff1a;async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...