S3 is called object storage because it stores data as discrete units called 'objects', each consisting of the data itself, metadata, and a unique identifier (key).
Amazon S3 is called an object storage service because it manages data as distinct units called 'objects,' rather than organizing files in a hierarchy of folders like a traditional file system or dividing data into blocks like a SAN (Storage Area Network) . This modern approach to data storage is designed for scalability, durability, and rich metadata, making it ideal for storing vast amounts of unstructured data, such as documents, images, videos, and backups .
An object is the fundamental entity stored in Amazon S3 . It is composed of the following key components:
Key: This is the unique identifier for the object within a bucket . You use the key to retrieve the object. Because S3 has a flat structure, the key is often the complete path, such as 'photos/vacation/image.jpg' .
Version ID: Within a bucket that has versioning enabled, a key and version ID together uniquely identify an object . This allows you to keep multiple variants of the same object and restore previous versions if needed.
Value: This is the actual content you are storing . It can be any sequence of bytes, representing any file type, and can range from 0 bytes to 5 TB in size .
Metadata: A set of name-value pairs with which you can store information about the object . This is divided into two categories: system metadata (like last-modified date or storage class) and user-defined metadata (custom tags you assign, like 'project:alpha') .
An object key (or key name) is the unique identifier for an object within an S3 bucket . When you upload a file, you specify the key, and you use this key to later retrieve, update, or delete the object. The key is a sequence of Unicode characters encoded in UTF-8 and can be up to 1,024 bytes long .
Although the S3 data model is flat (no actual folders), you can create a logical hierarchy by using key name prefixes and delimiters like the forward slash (/) . For instance, an object with the key 'Development/Projects.xls' has the prefix 'Development/' and the object name 'Projects.xls' . The AWS Management Console uses these prefixes and delimiters to present a familiar folder structure, but this is only a visual representation .