...

/

Requirements of a Blob Store's Design

Requirements of a Blob Store's Design

Identify the requirements of and make estimations for the blob store.

Requirements

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

Functional requirements

Here are the functional requirements of the design of a blob store:

  • 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.: The users should be able to create containers in order to group blobs. For example, if an application wants to store user-specific data, it should be able to store blobs for different user accounts in different containers. Additionally, a user may want to group video blobs and separate them from a group of image blobs. A single blob store user can create many containers, and each container can have many blobs, as shown in the following illustration. For the sake of simplicity, we assume that we can’t create a container inside a container.

Press + to interact
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: The blob store should allow users to upload blobs to the created containers.

  • Get data: The system should generate a URL for the uploaded blob, so that the user can access that blob later through this URL.

  • Delete data: The users should be able to delete a blob. If the user wants to keep the data for a specified period of time (retention time), our system should support this functionality.

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

  • Delete a container: The ...