Object Storage : An Introduction

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.

Object Storage

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

Block
File
Object
Reference Mechanism
Logical Block Address on a device or Logical UnitNamed file in a directory in a tree of named directoriesObject name or key on an object server
Atomic Unit of Access
Block, 512 or 4096 bytesByteObject Value
Access Semantics
Write, Read, TrimOpen, Write, Read, Position, Insert, Append, Close etc.Put, Get, Delete
Relationship Semantics
LBAx+1 is the fastest block to access LBAxFiles in same directory are relatedKey x and Key y are related for “Sequential” keys x and y where there is no other key z such that x<z<y
Scaling Limits
Limited to blocks on a single instanceLimited to files in a single file systemLimited 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:

Object based Storage Device Model

Object based Storage Device Model

Posted in Object Storage, Storage Systems and tagged , , , .
  • Shubham Gore

    Is it same as Openstack Object storage?