数据冗余
编辑在计算机主存储器、辅助存储和计算机总线中,数据冗余是指存在实际数据以外的数据,并允许纠正存储或传输数据中的错误。额外的数据可以是实际数据的完整拷贝(一种重复代码),也可以只选择一些数据,允许检测错误和重建丢失或损坏的数据,直到一定程度。
例如,通过包括额外的数据校验,ECC内存能够检测和纠正每个内存字内的单比特错误,而RAID 1将两个硬盘驱动器(HDD)结合成一个逻辑存储单元,允许存储的数据在一个驱动器完全失效的情况下生存。数据冗余也可以作为防止无声数据损坏的措施;例如,Btrfs和ZFS等文件系统使用数据和元数据校验与存储数据的副本相结合,以检测无声数据损坏并修复其影响。
在数据库系统中
编辑虽然性质不同,但数据冗余也发生在数据库系统中,在一个或多个记录或字段中,在一个表中,或在两个或多个表中复制/重复的字段中,有不必要的值重复。通常这种情况出现在非正常化的数据库设计中,并导致数据库管理的复杂化,引入破坏数据的风险,并增加所需的存储量。当故意从以前规范化的数据库模式中进行时,可以被认为是一种数据库的非规范化;用来提高数据库查询的性能(缩短数据库的响应时间)。
例如,当客户数据被复制并附加在每个购买的产品上时,那么数据冗余是一个已知的不一致的来源,因为一个给定的客户可能在他们的一个或多个属性中出现不同的值。数据冗余会导致数据的异常和损坏,一般来说应该通过设计来避免;应用数据库规范化可以防止冗余,并使存储得到最佳利用。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/193136/