Data redundancy

From Wikipedia, the free encyclopedia
Jump to: navigation, search

In computer main memory, auxiliary storage and computer buses, data redundancy is the existence of data that is additional to the actual data and permits correction of errors in stored or transmitted data. The additional data can be simply a complete copy of the actual data, or only select pieces of data that allow detection of errors and reconstruction of lost or damaged data up to a certain level.

For example, by including additional data checksums, ECC memory is capable of detecting and correcting single-bit errors within each memory word, while RAID 1 combines two hard disk drives (HDDs) into a logical storage unit that allows stored data to survive a complete failure of one drive.[1][2] Data redundancy can also be used as a measure against silent data corruption; for example, file systems such as Btrfs and ZFS use data and metadata checksumming in combination with copies of stored data to detect silent data corruption and repair its effects.[3]

In database systems[edit]

Bearing a different nature, data redundancy also occurs in database systems that have a field repeated in two or more tables. Also called database denormalization, it is usually used to improve performance of database queries (shorten the database response time), at the expense of complicating the database management, introducing the risk of corrupting the data, and increasing the required amount of storage.

For instance, when customer data are duplicated and attached with each product bought, then redundancy of data is a known source of inconsistency since customer might appear with different values for given attribute.[4] Data redundancy leads to data anomalies and corruption and generally should be avoided by design;[5] applying database normalization prevents redundancy and makes the best possible usage of storage.[6] At the same time, proper use of foreign keys can minimize data redundancy and chance of destructive anomalies.[5] However, concerns of efficiency and convenience can sometimes result in redundant data design despite the risk of corrupting the data.[7]

See also[edit]

References[edit]

  1. ^ Xin Li; Michael C. Huang; Kai Shen; Lingkun Chu (9 May 2010). "A Realistic Evaluation of Memory Hardware Errors and Software System Susceptibility" (PDF). cs.rochester.edu. Retrieved 16 January 2015. 
  2. ^ Remzi H. Arpaci-Dusseau; Andrea C. Arpaci-Dusseau (3 January 2015). "Operating Systems – Three Easy Pieces: Redundant Arrays of Inexpensive Disks (RAIDs)" (PDF). cs.wisc.edu. Retrieved 16 January 2015. 
  3. ^ Margaret Bierman; Lenz Grimmer (August 2012). "How I Use the Advanced Capabilities of Btrfs". Oracle Corporation. Retrieved 26 January 2015. 
  4. ^ Jorge H. Doorn; Laura C. Rivero (2002). Database integrity: challenges and solutions. Idea Group Inc (IGI). pp. 4–5. ISBN 978-1-930708-38-9. Retrieved 23 January 2011. 
  5. ^ a b Peter Rob; Carlos Coronel (2009). Database systems: design, implementation, and management. Cengage Learning. p. 88. ISBN 978-1-4239-0201-0. Retrieved 22 January 2011. 
  6. ^ I. T. L. Education Solutions Limited; Itl (2009). Introduction to Information Technology. Pearson Education India. p. 522. ISBN 978-81-7758-118-8. Retrieved 4 February 2011. 
  7. ^ Allen G. Taylor (2 February 2010). SQL for Dummies. For Dummies. pp. 126–127. ISBN 978-0-470-55741-9. Retrieved 1 February 2011.