Distributed block storage

From HandWiki

Distributed block storage is a computer data storage architecture that the data is stored in volumes (known as blocks:[1]) across multiple physical servers, as opposed to other storage architectures like file systems which manages data as a file hierarchy, and object storage which manages data as objects. A common distributed block storage system is a Storage Area Network (SAN).

Distributed storage

Main page: Clustered file system

Distributed storage, as opposed to centralized storage, typically takes the form of a cluster of storage units, with a mechanism for data synchronization and coordination between cluster nodes. Distributed storage has several advantages.[2]

  • Scalability: support to scale the storage system horizontally by adding or removing storage units to the system.
  • Redundancy: store the replication of the same data across multiple servers, for high availability, backup, and disaster recovery purposes.
  • Cost saving: it is possible to use cheaper, commodity servers to store large volumes of data at low cost.
  • Performance: offer better performance than a single server in some scenarios, for example, it can store data closer to its consumers, or enable massively parallel access to large files.

Block storage

Main page: Block (data storage)

Block storage decouples data from the user's environment and allows the data to be spread across multiple environments.[3] The storage is organized as blocks with unique identifiers by which they may be stored and retrieved as individual hard drives, and operating systems can connect to. It is an efficient and reliable way to store, use and manage data. The block storage can almost be used for any kinds of application, including but not limited to database storage and virtualization platform storage.

Storage blocks are generally accessed by iSCSI, Fibre Channel or Fibre Channel over Ethernet (FCoE) protocols. Block storage provides high performance for mission-critical applications and can provide high I/O performance and low latency. it is commonly used in Storage Area Network environments in place of file storage.

References

  1. Blaauw, Gerrit Anne; Brooks, Jr., Frederick Phillips; Buchholz, Werner (1962), "4: Natural Data Units" (PDF), in Buchholz, Werner (ed.), Planning a Computer System – Project Stretch, McGraw-Hill Book Company, Inc. / The Maple Press Company, York, PA., pp. 39–40, LCCN 61-10466, archived (PDF) from the original on 2017-04-03, retrieved 2017-04-03, […] Terms used here to describe the structure imposed by the machine design, in addition to bit, are listed below. Byte denotes a group of bits used to encode a character, or the number of bits transmitted in parallel to and from input-output units. A term other than character is used here because a given character may be represented in different applications by more than one code, and different codes may use different numbers of bits (i.e., different byte sizes). In input-output transmission the grouping of bits may be completely arbitrary and have no relation to actual characters. (The term is coined from bite, but respelled to avoid accidental mutation to bit.) A word consists of the number of data bits transmitted in parallel from or to memory in one memory cycle. Word size is thus defined as a structural property of the memory. (The term catena was coined for this purpose by the designers of the Bull GAMMA 60 [fr] computer.) Block refers to the number of words transmitted to or from an input-output unit in response to a single input-output instruction. Block size is a structural property of an input-output unit; it may have been fixed by the design or left to be varied by the program.
  2. Distributed Storage: What’s Inside Amazon S3? cloudian
  3. What is Block Storage? IBM