Object based storage organizes data into flexible-sized data containers, with the approach of addressing and manipulating discrete units of storage called objects. Objects are not organized in hierarchy, such that one object cannot be placed inside another. Since every object is at the same level, this is considered a flat address space known as a storage pool. The key semantics for object storage are PUT, GET, and DELETE.
Object storage differs from legacy disk storage, where legacy disk storage used block-oriented interfaces that reads and writes fixed sizes of blocks of data. The object contains uninterpreted sequence of bytes (data) and sets of attributes to describe the object (metadata). The metadata are used to assign unique identifiers that allows a server or end user to retrieve the object without needing to know the location of the data, which is extremely useful for automating and streamlining data storage for cloud computing. The key functions of object storage are:
- Create objects
- Delete objects
- Write bytes to and from individual objects
- Read bytes to and from individual objects
- Set attributes on objects
- Get attributes on objects
The advantages of using Object Storage are:
- Data Mobility
- The ability to reference objects by IDs rather than file names provides more freedom for migration of data, and eliminating the constrains of underlying hardware.
- Scalability of Namespace
- The namespace does not have any size limitations and completely independent of the file and operating system.
- Performance Scalability
- The ability to read and write directly to the objects simultaneously with no limitations.
- Simplified Integration and Development
- The enhanced feature that provides easier coupling of applications and storage.
- Storage Efficiency
- Objects only uses the space that they need, without having to pre-allocate storage for the storage container.
In order to write the object onto the drive, the put operation is performed with the client requesting to write a created object using the Kinetic API by sending the object's keys and values through the network to the Kinetic drive, as shown below.
When requesting to read a desired object, the client sends the object's keys to the Kinetic drive through the network. Once the Kinetic drive receives the keys, the keys and values will be returned to the client through the network, as shown below.
Similarly, the delete function is performed with the client sending the objects' keys to the Kinetic drive, in which the drive removes the keys and the corresponding values from the Kinetic drive.
© 2014 Seagate Technology LLC. All right reserved.