...

>

Requirements of a Blob Store's Design

Requirements of a Blob Store's Design

Define the functional and non-functional requirements essential for a scalable blob store, emphasizing durability and high availability. Calculate resource estimations for servers, storage, and bandwidth using real-world data modeling.

Requirements

Let’s understand the functional and non-functional requirements:

Functional requirements

  • Create a containerA container is like a folder in a file system used to group blobs. Don’t mix up this container with a Docker container.: Users create containers to group blobs (e.g., separating user data or media types). A single user can own multiple containers, each holding many blobs. We assume containers cannot be nested.

Multiple containers associated with a single storage account, and multiple blobs inside a single container
Multiple containers associated with a single storage account, and multiple blobs inside a single container
  • Put data: Upload blobs to a specific container.

  • Get data: Access a blob via a system-generated URL.

  • Delete data: The users should be able to delete a blob. The system should support retention periods before permanent deletion.

  • List blobs: The user should be able to retrieve a list of blobs within a specific container.

  • Delete a container: The user should be able to remove a container and ...