Database

A database is a collection of computer-processable records, organized in some manner beyond a simple sequential file that cannot have records deleted and can only have records added to the end. The simplest possible database organization, indexed sequential, has records stored by some collating rule, but has a mechanism for adding records whose sequence may put them between existing records, and a mechanism for deleting records inside the database. More advanced databases have more complex ways of organizing records.

Advanced databases can have capabilities beyond complex organization. They can comply to rules for transaction processing, which require (see ACID properties) that a unit either run to completion before the database is updated, or, if the work cannot be completed, the incomplete results can be "rolled back" without changing the state of the database. Both at their logical level of organization, as well as using physical mechanisms such as Redundant Arrays of Inexpensive Disks (RAID), they can be engineered to tolerate damage to storage media, or even destruction of an entire copy.

To protect against loss of a physical copy, separate copies clearly need to exist at multiple locations. In the simplest approach, a copy remote from the main site may simply be a real-time mirror of the data, or even a sequential backup file. More complex mechanisms either have complete copies at multiple sites, or have parts of the data at different sites.