Object storage (also known as
object-based storage) is a storage architecture that manages data as objects, as opposed to other storage architectures like
file systems which manage data as a file hierarchy and
block storage which manages data as blocks within sectors and tracks. Each object typically includes the data itself, a variable amount of
metadata, and a globally unique identifier. Object storage can be implemented at multiple levels, including the device level (object storage device), the system level, and the interface level. In each case, object storage seeks to enable capabilities not addressed by other storage architectures, like interfaces that can be directly programmable by the application, a namespace that can span multiple instances of physical hardware, and data management functions like data replication and data distribution at object-level granularity.