Skip to main content

Object Storage

Object Storage is a data storage architecture for handling large amounts of unstructured data. Unlike file systems that organize data in a folder hierarchy, object storage manages data as distinct units called objects. Each object bundles the data itself, customizable metadata, and a globally unique identifier.

Think of it like a massive digital valet service for your data. Instead of parking your car in a specific spot in a multi-level garage (like a file system), you hand your keys (data) to the valet. The valet gives you a ticket (a unique ID) and parks the car for you in a vast, flat lot. To get your car back, you just present the ticket.

How Object Storage Works (Upload & Retrieval)​

  1. Application makes a request: A user or application wants to upload a file (e.g., profile-picture.jpg).

  2. API Call to Storage System: The application makes an API call (typically HTTP-based, like a PUT request) to the object storage service, including the data and any relevant metadata (e.g., content-type: image/jpeg).

  3. Object Creation & ID Assignment: The storage system receives the data, bundles it with the metadata, and saves it as an object. It then generates a unique identifier (or key) for that object and returns it to the application. The system manages where the object is physically stored; the user doesn't need to know.

  4. Application stores the ID: The application stores this unique ID (e.g., https://s3.region.amazonaws.com/my-bucket/profile-picture.jpg) to reference the object later.

  5. Retrieval Request: To retrieve the data, the application makes another API call (a GET request) using the unique ID.

  6. Data is Returned: The object storage system locates the object using its ID and streams the data back to the application or user's browser.

Core Components of Object Storage​

Bucket: A container for storing objects. Buckets are the top-level organizational unit in object storage, and their names must be globally unique within a storage system (e.g., across all of AWS).

Object: The fundamental entity in object storage. It contains the data itself (like an image, video, or log file), metadata, and a unique key.

Key: The unique identifier for an object within a bucket. The combination of the bucket name, key, and version (if enabled) uniquely identifies an object. It often looks like a file path (e.g., images/avatars/user-123.jpg), but it's just a stringβ€”there are no actual folders.

Metadata: A set of key-value pairs that describe the object. This can include system metadata (like content type and size) and user-defined custom metadata (like author: "John Doe" or department: "Marketing").

Key Features of Object Storage​

Massive Scalability: Object storage is designed to scale to virtually unlimited capacity, handling trillions of objects and exabytes of data. This is achieved through its flat address space and distributed architecture.

High Durability & Availability: Data is often replicated across multiple devices and even different physical data centers. This ensures that data is safe from hardware failures and remains accessible.

Cost-Effectiveness: It's generally cheaper to store data in object storage compared to file or block storage, especially for data that is accessed less frequently.

Rich Metadata: The ability to store custom metadata alongside the data itself makes it powerful for data analytics, indexing, and management, as you can query objects based on their metadata.

API Accessibility: Objects are accessed via simple HTTP-based APIs (like REST APIs), making it easy to integrate with web applications and a wide variety of tools.

🟠 AWS - S3 (Simple Storage Service)​

Amazon S3 (Simple Storage Service) is a highly scalable and managed object storage service provided by Amazon Web Services (AWS). It's one of the most widely used cloud services and is the de facto standard for object storage. S3 provides developers with a simple web services interface to store and retrieve any amount of data, at any time, from anywhere on the web.

S3 structure