Caché

High performance
multi-model database

Caché Mirroring FAQ

General

What is mirroring?

Mirroring is InterSystems innovative, inexpensive high availability solution with automatic failover. Traditional availability and replication solutions often require substantial capital investments in infrastructure, deployment, configuration, software licensing, and planning. Caché Database Mirroring (Mirroring) is designed to provide an economical solution for rapid, reliable, robust, automatic failover between two Caché systems, making mirroring the ideal automatic failover solution for the enterprise.

Combining InterSystems Enterprise Cache Protocol (ECP) application servers with mirroring provides an additional level of availability. Application servers continue processing seamlessly on the new system once the failover is complete. This greatly minimizes workflow and user disruption.

What other capabilities does mirroring provide?

Mirroring allows for a special Async Member, which can be configured to receive updates from multiple mirrors across the enterprise. This allows a single system to act as a comprehensive data warehouse, allowing enterprise-wide data mining and business intelligence, for example, by using InterSystems DeepSee. The async member can also be deployed in a disaster recovery model in which a single mirror can update up to six geographically-dispersed async members; this model provides a robust framework for distributed data replication, ensuring business continuity benefits to the organization

What benefits can mirroring provide my site?

The benefits from using Mirroring are manifold:

  • It is cheaper and can be more reliable than other OS failover clustering technology.
  • It is easier to configure, manage, and deploy than other OS failover clustering technology.
  • Failover times are usually faster than with OS-based clustering.
  • There is no need for expensive shared disk resources.
  • The hardware resources involved are independent and redundant.
  • Logical data replication can protect against physical corruption being carried forward to the other system.
  • Mirroring provides both high-availability and disaster recovery protections.
  • Mirroring can provide a solution for planned and unplanned downtimes.
  • Async mirror members provide the opportunity to use business intelligence and data mining on current data, offloaded from the main production environment.

Mirroring and other capabilities

How does mirroring compare to other approaches?

Traditional availability solutions that rely on shared resources (such as shared disk) are often susceptible to a single point of failure with respect to that shared resource. Mirroring reduces that risk by maintaining independent components on the primary and backup mirror systems. By utilizing logical data replication, mirroring reduces the potential risks associated with physical replication, such as out-of-order updates and carry-forward corruption, which are possible with other replication technologies such as SAN-based replication.

How is mirroring different from Caché shadowing?

In Mirroring, the failover members are capable of participating in an automatic failover as part of a high-availability configuration; the asynchronous mirror members are capable of providing remote redundancy of data (that is, assistance with disaster recovery and business continuity). Shadowing, on the other hand, is specifically designed for aggregating data for reporting; some customers also use it for disaster recovery.

How is mirroring different from OS-, SAN-, or disk-based replication?

Since Mirroring is done from within the database, Caché controls the way that it synchronizes data. Caché performs logical replication while traditional (OS-/SAN-/Disk-based) replication technologies perform physical data replication. Logical data replication mitigates the risks of physical replication such as carry-forward corruption (where corrupt sectors from one storage media are replicated to the other storage media). In addition, Caché synchronizes the least amount of data necessary, thereby optimizing the amount of network bandwidth required between the two systems.