Redundancy

Beginner

Redundancy is the intentional duplication of critical components or functions within a system with the goal of increasing reliability and availability. By having backup components, a system can withstand the failure of one or more components without a complete outage.

First Used

1950s

Definitions

3

Synonyms
DuplicationReplicationBackupFailover

Definitions

1

Redundancy in System Design

In system design and architecture, redundancy refers to the intentional duplication of critical system components or functions. The primary goal is to increase the reliability and availability of a system. If one component fails, a redundant component can take over its function, preventing a complete system outage. This is a core principle of fault-tolerant design.

Key Concepts:

  • Single Point of Failure (SPOF): A component whose failure will cause the entire system to stop working. Redundancy aims to eliminate SPOFs.
  • Failover: The process of automatically switching to a redundant standby component upon the failure of the primary active component.
  • Active-Active Redundancy: Multiple components are active simultaneously, sharing the workload (e.g., load balancing). If one fails, the others absorb its load.
  • Active-Passive Redundancy: A primary component handles the workload while a secondary (passive) component is on standby, only becoming active if the primary fails.

Example: A web application might use two identical web servers behind a load balancer. If one server crashes, the load balancer redirects all traffic to the healthy server, ensuring the application remains available to users.

2

Redundancy in Data Management

In the context of data management, redundancy involves storing the same piece of data in multiple locations. This strategy protects against data loss due to hardware failure, data corruption, or other disasters. It is fundamental to data durability and disaster recovery planning.

Key Concepts:

  • Replication: The process of copying and maintaining database objects in multiple databases that make up a distributed database system. This can be synchronous (data is written to all copies before the transaction is confirmed) or asynchronous (data is written to the primary and then copied to replicas later).
  • RAID (Redundant Array of Independent Disks): A data storage technology that combines multiple physical disk drives into one or more logical units for the purposes of data redundancy, performance improvement, or both.
  • Backups: Copies of data taken and stored elsewhere so that they may be used to restore the original after a data loss event.

Example: A database can be configured with a primary server and one or more replica servers. All write operations go to the primary, which then replicates the changes to the replicas. If the primary server fails, one of the replicas can be promoted to become the new primary.

3

Redundancy in Network Engineering

In networking, redundancy means providing multiple paths for network traffic to travel between any two points. This ensures that if one link or network device (like a router or switch) fails, traffic can be automatically rerouted through an alternate path, maintaining network connectivity.

Key Concepts:

  • Redundant Links: Having more than one physical connection between critical network devices.
  • Spanning Tree Protocol (STP): A network protocol that builds a loop-free logical topology for Ethernet networks. It disables redundant links that could cause loops and re-enables them if a primary link fails.
  • First Hop Redundancy Protocols (FHRP): Protocols like HSRP and VRRP that allow multiple routers to share a virtual IP address, providing a redundant default gateway for devices on a network.

Example: Two core switches in a corporate network might be connected by two separate fiber optic cables. Normally, traffic might only use one link, but if that cable is cut, traffic automatically fails over to the second link with minimal disruption.


Origin & History

Etymology

The term 'redundancy' originates from the Latin word 'redundantia', from 'redundare', which means 'to overflow' or 'be in excess'. It is composed of 're-' (again) and 'undare' (to surge or rise in waves), literally meaning 'to surge back'.

Historical Context

The concept of redundancy is ancient, seen in structures like castles with multiple defensive walls. In engineering, it became a formal principle with the advent of complex systems where failure was catastrophic. In the 1940s and 1950s, Claude Shannon's work in information theory formalized the idea of adding redundant information (e.g., parity bits) to detect and correct errors in data transmission. This was a foundational moment for digital communication. The need for ultra-reliable computing in the 1960s for missions like the Apollo space program led to the development of fault-tolerant computers. The Apollo Guidance Computer had triple modular redundancy, where three identical processors performed the same calculations, and a voting system would discard an erroneous result from one processor. In the 1970s, companies like Tandem Computers pioneered commercially available fault-tolerant systems for industries like banking and stock exchanges, heavily relying on hardware **duplication** and failover mechanisms to achieve near-continuous uptime.


Usage Examples

1

To achieve high availability, the architect implemented server redundancy using a load-balanced cluster.

2

The database uses replication to maintain a hot standby, ensuring data redundancy in case the primary server fails.

3

Our disaster recovery plan relies on geographic redundancy, with a complete backup of our systems in a separate data center.

4

The network switch has redundancy built-in, with dual power supplies to prevent a single power failure from causing an outage.


Frequently Asked Questions

What is the primary purpose of redundancy in system design?

The primary purpose of redundancy in system design is to increase reliability and availability by eliminating single points of failure. When a critical component is duplicated, the system can continue to operate even if one of the components fails, a process known as failover.

Explain the difference between data redundancy and system redundancy.

Data redundancy focuses specifically on duplicating data to prevent loss (e.g., database replication, RAID, backups). System redundancy is a broader term that refers to duplicating any critical component of a system, which can include hardware (servers, power supplies, network links) or software processes.

Can redundancy have downsides?

Yes, redundancy has downsides. The main drawbacks are increased cost (due to extra hardware and software), increased complexity in design and management, and higher maintenance overhead. In data systems, it can also introduce challenges related to keeping redundant data copies consistent.


Categories

System ArchitectureData EngineeringNetwork Engineering

Tags

System DesignReliabilityFault ToleranceHigh AvailabilityData Management