Who needs a consistent backup?

In general much attention is paid to the creation of consistent backups. Specific backup tools and backup agents are configured to ensure databases are flushed to disk to provide a consistent backup.    

Of course this is very important. Inconsistent databases can lead to incorrect startup of a database after a restore. An example is the index of the database that is out of sync with the underlying tables.

Database transactions must be handled correctly as well before making a backup to prevent a failing application after a restore. An example is a purchase order that states a product can in, where a change in the financial administration is missing.

The question is weather is it useful to force consistencies in backups on a higher level. I think this is a very expensive exercise (if possible at all) with little benefit. Nowadays systems hardly ever work in isolation. Usually they are part of a chain of internal and external systems. Purchase orders come in via order intake in a SAP system, but can also come in through resellers’ web services or via an Internet site. These systems are connected and it seems to make sense to backup them in an integral way.

However, this is hardly possible. To create an integral backup all systems must be in a consistent state. Not only internally, but also between each system. This is only possible when all connected systems are stopped. Not only is this most of the time not feasible (an Internet page cannot be taken offline to create a backup) , it is also very time consuming. If one of the systems in the chain cannot be stopped due to a long running transaction all other systems have to wait for it in order to get back-upped.

I am not even mentioning chains running over several companies. When transactions run between companies all companies must stop working to create chain-consistent backup.

Let’s first find out why a backup is made at all in large systems (I am not talking about restoring a lost user file). A backup can be used to restore systems that cannot be repaired any other way. This means that the choice to perform a restore has great business impact. A restore must therefore be handled with great care.

It is important to have backups that are consistent within one application to prevent the problems stated above. Usually backups are one or more days old. When after a restore the system would be started without measures, some unwanted side effects could occur. For instance: when just before making the backup a message from a business partner was received and the acknowledgement was not sent yet, the acknowledgement would be sent again to the business partner after the restore of the system a day later. You can probably come up with more examples.

These examples show that restoring a system from backup is always a delecate process that must be taken care of with great caution, especially in a chain of multiple applications or even companies. Therefore it is of no use to have a consistent backup over a set of applications: problems will arise anyway when a restore is performed without additional measures.

A consistent database backup and consistence within applications is therefore enough.


This entry was posted on Monday 01 March 2010

Earlier articles

Quantum computing

Security at cloud providers not getting better because of government regulation

The cloud is as insecure as its configuration

Infrastructure as code

DevOps for infrastructure

Infrastructure as a Service (IaaS)

(Hyper) Converged Infrastructure

Object storage

Software Defined Networking (SDN) and Network Function Virtualization (NFV)

Software Defined Storage (SDS)

What's the point of using Docker containers?

Identity and Access Management

Using user profiles to determine infrastructure load

Public wireless networks

Supercomputer architecture

Desktop virtualization

Stakeholder management

x86 platform architecture

Midrange systems architecture

Mainframe Architecture

Software Defined Data Center - SDDC

The Virtualization Model

What are concurrent users?

Performance and availability monitoring in levels

UX/UI has no business rules

Technical debt: a time related issue

Solution shaping workshops

Architecture life cycle

Project managers and architects

Using ArchiMate for describing infrastructures

Kruchten’s 4+1 views for solution architecture

The SEI stack of solution architecture frameworks

TOGAF and infrastructure architecture

The Zachman framework

An introduction to architecture frameworks

How to handle a Distributed Denial of Service (DDoS) attack

Architecture Principles

Views and viewpoints explained

Stakeholders and their concerns

Skills of a solution architect architect

Solution architects versus enterprise architects

Definition of IT Architecture

What is Big Data?

How to make your IT "Greener"

What is Cloud computing and IaaS?

Purchasing of IT infrastructure technologies and services

IDS/IPS systems

IP Protocol (IPv4) classes and subnets

Infrastructure Architecture - Course materials

Introduction to Bring Your Own Device (BYOD)

Fire prevention in the datacenter

Where to build your datacenter

Availability - Fall-back, hot site, warm site

Reliabilty of infrastructure components

Human factors in availability of systems

Business Continuity Management (BCM) and Disaster Recovery Plan (DRP)

Performance - Design for use

Performance concepts - Load balancing

Performance concepts - Scaling

Performance concept - Caching

Perceived performance

Ethical hacking

The first computers

Open group ITAC /Open CA Certification


Recommended links

Ruth Malan
Gaudi site
Esther Barthel's site on virtualization
Eltjo Poort's site on architecture


Feeds

 
XML: RSS Feed 
XML: Atom Feed 


Disclaimer

The postings on this site are my opinions and do not necessarily represent CGI’s strategies, views or opinions.

 

Copyright Sjaak Laan