Lecture Notes on Storage Concepts
Introduction
Speaker: Mike Johnson (MJ), training content creator and DevOps engineer at MinIO
Topics Covered:
- Block Storage
- File Storage
- Object Storage
About the Speaker
- 22 years in IT
- 10 years in cloud administration
- 20 years in sysadmin
- Experience with containers and Kubernetes
- Certifications in AWS, Azure, Docker, and Kubernetes
Key Concepts to Cover
- Block Storage
- File Storage
- Object Storage
- Performance and cost considerations
- Common use cases
- Visual side-by-side comparison
Block Storage Basics
- Treats data as a sequence of fixed block sizes
- Data can be spread across multiple blocks
- Block sizes can be adjusted to optimize performance
- Stored in a way to provide best performance (handled by software)
- Limited metadata capacity (e.g., file name)
- Strong consistency and high structure
- Data unlikely to corrupt on single device
- Loss of device leads to data loss
- Retrieved as blocks via iSCSI, fiber, serial, SATA, etc., then reassembled as files
File Storage Basics
- Files stored as whole, accessed in original format
- Path-based access (e.g., corporate directory structure)
- Limited metadata (create date, modify date, file size)
- Files can be locked to prevent corruption
- Often sits atop block and object storage
- Accessed via SMB or NFS protocols, adding overhead
Object Storage Basics
- Files stored in distributed shards with metadata, object ID, attributes
- Allows for unlimited metadata, enhances search capabilities
- Versioning to retain data integrity and regulatory compliance
- Unlimited scalability by adding back ends
- Accessed over REST API using HTTP
- Versatile usage across various platforms and applications
Conclusion
- Block, file, and object storage have unique characteristics and use cases
- Consider performance and cost for each type
- Each type uses different access protocols and methods
- Object storage offers flexible scalability and advanced metadata capabilities