This a multipart series of simple blogs on Object Storage. This introduction on Object Storage.
Hunger for storage is increasing and there is on going demand to satisfy the insatiable. Traditional storage mechanisms are hitting the threshold on Management, Retrieval & Creation etc especially on large and complex Cloud Computing Environments.
Traditional Block based storage interfaces albeit advancing with significant improvements in storage devices and storage application, however there is a need to relook this approach. We are now at a juncture where continued progress requires a change in the device interface. The Object Interface offers storage that is secure and easy to share across various platforms and also is a high-performance system, and thus eliminates common trade-offs between block and file interfaces/systems. In addition Objects add application awareness and intelligence in the Storage Device.
Object Storage is designed to leverage the increasing capabilities of storage devices,
Back in 1996, Parallel Data Systems at CMU tabled the proposal of Object Storage Systems. There are various object storage systems available and we will be studying one such system called as CephFS. But before we venture out and study what and how of Ceph, we should first understand what is Object Storage and how it differentiates from Block / File Systems.
Also called object-based storage, is a generic term that describes a method to addressing and manipulating discrete units of storage called objects.
Similar to files, objects contain data; but unlike files, objects are not organized in a hierarchy. Every object resides at the same level in a flat address space called a storage pool and one object cannot be placed inside another object.
Both files and objects have metadata associated with the data they contain, but objects are characterized by their extended metadata. Each object has a unique identifier, which allows a server or an end user to retrieve the object without being bothered about physical location of the data. This approach is useful for automating and streamlining data storage in large and complex computing environments such as Cloud.
Block / File / Object | Storage
|Logical Block Address on a device or Logical Unit||Named file in a directory in a tree of named directories||Object name or key on an object server|
Atomic Unit of Access
|Block, 512 or 4096 bytes||Byte||Object Value|
|Write, Read, Trim||Open, Write, Read, Position, Insert, Append, Close etc.||Put, Get, Delete|
|LBAx+1 is the fastest block to access LBAx||Files in same directory are related||Key x and Key y are related for “Sequential” keys x and y where there is no other key z such that x<z<y|
|Limited to blocks on a single instance||Limited to files in a single file system||Limited to object on a single object server|
Object based Storage Device Model
Object storage device model abstracts File System, Storage Component and provides this abstraction below Object Interface. Immediate effect of object based storage is offloading of space management i.e allocation and tracking of blocks used or free as illustrated below: