объясни object-storage --простыми-словами

Объектное хранилище
Когда клиент загружает фото на сайт, которым я управляю, куда это фото попадает?
Долгое время я думал, что оно как-то живет "в приложении". Нет. Приложение — это зал и кухня ресторана. Фото тяжелое, а тяжелые вещи не складывают на кухне. Их сдают в гардероб.
Этот гардероб и есть объектное хранилище.
Вот движение, и в нем вся суть. Ты сдаешь вещь. Получаешь номерок. Вещь исчезает в огромной подсобке, которую ты никогда не видишь, и висит на пронумерованном крючке среди тысяч других. Потом ты возвращаешься, показываешь номерок, и тебе приносят ровно ту вещь, которую ты сдавал.
В софте номерок — это просто веб-адрес. Загрузил файл, получил ссылку. Хочешь файл обратно? Не копаешься в папках. Показываешь ссылку, и файл возвращается.
- Ты сдаешь: фото, видео, PDF, бэкап, пользовательскую загрузку.
- Получаешь обратно: уникальный адрес, тот самый номерок.
- Возвращаешься с номерком: файл приходит обратно, нетронутый.
Почему бы просто не запихнуть файлы в базу данных? Вот тут у меня щелкнуло. База данных — это блокнот кухни, куда приложение постоянно записывает маленькие факты: твой email, сумму заказа, когда ты зарегистрировался. Быстро записать, быстро найти. А теперь представь, что в этот блокнот пытаются засунуть 4K-видео. Страницы заклинит, каждый поиск замедлится, и ты еще заплатишь за это кучу денег.
Поэтому разделение чистое, и когда ты его увидишь, начнешь видеть везде:
- Маленькие факты о вещи идут в базу данных. ("Пользователь 88 загрузил фото профиля. Вот номерок на него.")
- Сама большая вещь идет в объектное хранилище, а база данных хранит только номерок.
Блокнот остается тонким и быстрым. Тяжелое живет в дешевой подсобке, где тяжелому и место.
И это правда дешево, и правда сложно потерять. В этом тихая суперсила. Такое хранилище сделано так, чтобы стоить копейки за файл и почти не терять данные, потому что за кулисами оно спокойно держит несколько копий твоих вещей в разных зданиях. Где-то на складе умирает диск, а ты этого не чувствуешь. Твое пальто все это время висело на трех крючках, просто тебе всегда был нужен только один номерок. Поэтому именно туда отправляют бэкапы спать по ночам.
Несколько вещей, которые стоит запомнить:
- Ты пользовался этим десять тысяч раз сегодня. Почти каждую картинку, видео и скачиваемый файл в интернете тебе отдало объектное хранилище. Самое знаменитое — Amazon S3, и огромная доля файлов веба прямо сейчас лежит там.
- Оно "тупое" специально. Гардероб не открывает твою сумку, не перешивает пальто и не шарит по карманам. Он хранит вещь целиком и отдает ее обратно, все или ничего. Ты не правишь файл прямо в хранилище. Ты достаешь его, меняешь, кладешь свежую версию назад. Именно эта простота делает хранилище таким дешевым и надежным.
- Номерок может быть публичным или приватным. Некоторые адреса может открыть кто угодно: фото товаров в магазине. Некоторые закрыты, и приложение выдает временный номерок на несколько минут: например, для приватного файла, который кто-то купил. Та же подсобка, два вида номерков.
Самый короткий способ сказать: база данных помнит факты, объектное хранилище держит вещи. Отдай тяжелое в гардероб, сохрани номерок, и приложение останется легким на ногах.