Case Study: S3
How do we design a modern service like S3.
We'll cover the following
- What is a blob store?
- Amazon S3: Requirements & challenges
- Distributed systems design principles used to meet S3 requirements
- How S3 stores unstructured data?
- The simplest blob store
- Problem with the simplest blob store
- Brute-force solution: horizontal scaling
- Problem with the horizontally scaled blob store
- Solution: separate the API and data storage
- Problem with the above solution
- Solution: Replication
- Scaling the above-proposed solution
- Regions and availability zones
- Looking in depth at the design of distributed blob store
- Replication for achieving availability
- Data partitioning technique for achieving scalability
- What S3 provides in terms of CAP theorem?
- What S3 provides in terms of the PACLEC theorem?
- Which API to use? REST or CRUD
- How to ensure security?
- How clients interact with the S3
- Strengths and weaknesses of S3
- Evaluation
- Comparison of different blob stores
- Initial sources
What is a blob store?
Blob store is a binary object store that lets developers store unstructured data in key-value pairs in the cloud. Blobs are grouped into containers that are tied to user accounts. Each bucket is like a new database, with keys being your folder path and values being the binary objects (files). The data can be accessed from anywhere in the world and can include audio, video, and text.
Example: Amazon S3
Create a free account to access the full course.
By signing up, you agree to Educative's Terms of Service and Privacy Policy