HOME

TheInfoList



OR:

Append-only is a property of computer data storage such that new data can be appended to the storage, but where existing data is
immutable In object-oriented and functional programming, an immutable object (unchangeable object) is an object whose state cannot be modified after it is created.Goetz et al. ''Java Concurrency in Practice''. Addison Wesley Professional, 2006, Section 3.4 ...
.


Access control

Many file systems' Access Control Lists implement an "append-only" permission: *
chattr is the command in Linux that allows a user to set certain attributes of a file. is the command that displays the attributes of a file. Most BSD-like systems, including macOS, have always had an analogous command to set the attributes, bu ...
in Linux can be used to set the append-only flag to files and directories. This corresponds to the flag in . * NTFS ACL has a control for "Create Folders / Append Data", but it does not seem to keep data immutable. Many
cloud storage Cloud storage is a model of computer data storage in which the digital data is stored in logical pools, said to be on "the cloud". The physical storage spans multiple servers (sometimes in multiple locations), and the physical environment is t ...
providers provide the ability to limit access as append-only. This feature is especially important to mitigate the risk of data loss for
backup In information technology, a backup, or data backup is a copy of computer data taken and stored elsewhere so that it may be used to restore the original after a data loss event. The verb form, referring to the process of doing so, is "back up", w ...
policies in the event that the computer being backed-up becomes infected with
ransomware Ransomware is a type of malware from cryptovirology that threatens to publish the victim's personal data or permanently block access to it unless a ransom is paid off. While some simple ransomware may lock the system without damaging any files, ...
capable of deleting or encrypting the computer's backups.


Data structures

Many data structures and databases implement
immutable objects In object-oriented and functional programming, an immutable object (unchangeable object) is an object whose state cannot be modified after it is created.Goetz et al. ''Java Concurrency in Practice''. Addison Wesley Professional, 2006, Section 3.4 ...
, effectively making their data structures append-only. Implementing an append-only data structure has many benefits, such as ensuring data consistency, improving
performance A performance is an act of staging or presenting a play, concert, or other form of entertainment. It is also defined as the action or process of carrying out or accomplishing an action, task, or function. Management science In the work place ...
, and permitting rollbacks. The prototypical append-only data structure is the
log file In computing, logging is the act of keeping a log of events that occur in a computer system, such as problems, errors or just information on current operations. These events may occur in the operating system or in other software. A message or lo ...
. Log-structured data structures found in Log-structured file systems and databases work in a similar way: every change (transaction) that happens to the data is logged by the program, and on retrieval the program must combine the pieces of data found in this log file.
Blockchain A blockchain is a type of distributed ledger technology (DLT) that consists of growing lists of records, called ''blocks'', that are securely linked together using cryptography. Each block contains a cryptographic hash of the previous block, a ...
s add cryptography to the logs so that every transaction is verifiable. Append-only data structures may also be mandated by the hardware or software environment: * All objects are immutable in purely functional programming languages, where every function is pure and global states do not exist. * Flash storage cells can only be written to once before erasing. Erasing on a flash drive works on the level of pages with cover many cells at once, so each page is treated as an append-only set of cells until it fills up. * Hard drives that use shingled magnetic recording cannot be written to randomly because writing on a track would clobber a neighboring, usually later, track. As a result, each "zone" on the drive is append-only. Append-only data structures grow over time, with more and more space dedicated to "stale" data found only in the history and more time wasted on parsing these data. A number of append-only systems implement ''rewriting'' (copying garbage collection), so that a new structure is created only containing the current version and optionally a few older ones.


See also

* Access control list *
Cloud storage Cloud storage is a model of computer data storage in which the digital data is stored in logical pools, said to be on "the cloud". The physical storage spans multiple servers (sometimes in multiple locations), and the physical environment is t ...
* Comparison of file hosting services *
Data structure In computer science, a data structure is a data organization, management, and storage format that is usually chosen for efficient access to data. More precisely, a data structure is a collection of data values, the relationships among them, a ...
*
Purely-functional data structure In computer science, a purely functional data structure is a data structure that can be implemented in a purely functional language. The main difference between an arbitrary data structure and a purely functional one is that the latter is (strongl ...
* Log-structured merge-tree *
Certificate Transparency Certificate Transparency (CT) is an Internet security standard for monitoring and auditing the issuance of digital certificates. The standard creates a system of public logs that seek to eventually record all certificates issued by publicly t ...


References

{{reflist Computer data storage