Data - (Transaction|Action) Atomicity

Data System Architecture

About

An atomic action is one that effectively happens all at once.

  • An atomic action cannot stop in the middle: it either happens completely, or it doesn't happen at all.
  • No side effects of an atomic action are visible until the action is complete.

Example

An example of atomicity is ordering an airline ticket where two actions are required: payment, and a seat reservation. The potential passenger must either:

  • both pay for and reserve a seat; OR
  • neither pay for nor reserve a seat.

Domain

Transaction

In the context of a transaction , either all the tasks in a transaction must happen, or none of them. The transaction must be completed, or else it must be undone (rolled back).

This functionality is known as atomic commit.

Code

See Data Concurrency - Atomic Variable Access

File System

A file deletion should be atomic.

If a request to delete a file is send to the file system and the power is lost during the delete operation, once power is restored either:

  • the file will exist completely with all if its original content unaltered,
  • or else the file will not be seen in the filesystem at all.

If after power is restored the file is only partially deleted, if some of its data has been altered or erased, or the file has been truncated but not completely removed, then data corruption/inconsistency will likely result.

Documentation / Reference





Discover More
Data System Architecture
Atomic Commit

An Atomic commit is a commit that implements atomicity for a transaction. Either all the tasks in a transaction must happen, or none of them. The transaction must be completed, or else it must be undone...
Azure Storage Structure
Azure - Windows Azure Storage Blob (WASB) - HDFS

Windows Azure Storage Blob (WASB) is an file system implemented as an extension built on top of the HDFS APIs and is in many ways HDFS. The WASB variation uses: SSL certificates for improved security...
Data System Architecture
Data - Transaction (Trans(versal?) actions)

A single logical operation on the data is called a transaction. A physical operation is called a request and therefore a transaction is a queue of request. For example, a transfer of funds from one bank...
Data System Architecture
Data Concurrency - Atomic Variable Access

Atomic operations (in order to get a value) cannot be interleaved, so they can be used without fear of thread interference. Primitive atomic instructions on a CPU instruction level: Test-and-set ...
Data System Architecture
Data Property - ACID (atomicity, consistency, isolation, durability)

In computer science, ACID (atomicity, consistency, isolation, durability) is a set of properties that guarantee transactions are processed reliably. They defines a concurrency model. Traditional database...
Harddisk
Disk - Sector (Physical block)

A sector is the block (minimal persistent unit) on a disk at the physical level. It is not possible to modify any part of the disk smaller than a sector. To change a part of the disk smaller than a sector,...
Undraw File Manager Re Ms29
Sitemap

A file is a logical representation of multiple block that can be accessed and manipulated at once by a program. Generally, a file is stored in a durable in the sense that it remains available for programs...
Robots Useragent
Robot - Rate Limiting

A page rate limiting of HTTP request that is implemented to control bot. A rate limiter caps how many requests a sender (user / IP address ) can issue in a specific window of time (e.g. 25 requests per...
Data System Architecture
Shared Lock

A shared lock is a lock acquired in the shared mode over a data structure. The data structure can be any: from a file to any in-memory structure (ie variable with a complex type, generally a collection)...
Data System Architecture
Transaction - Traditional rollback journal

This page is the traditional implementation of the rollback journal (as opposed to a write-ahead log rollback journal) write-ahead log When a change occurs, the traditional rollback journal implements...



Share this page:
Follow us:
Task Runner