Где на самом деле «живут» ваши данные
Мы привыкли думать, что база данных — это такой бетонный бункер с сейфами. Положил туда имя пользователя, закрыл на замок, и оно там лежит. А когда нужно — backend просто делает фотографию этого имени и показывает его нам на экране.
💡 На самом деле всё куда динамичнее. Данные не «лежат», они постоянно путешествуют.
Представьте ситуацию: Кирилл меняет работу.
Он заходит в свой профиль, чтобы исправить должность с «Младший дизайнер» на «Старший».
1. На экране: Кирилл стер старое слово и написал новое. В эту секунду на его мониторе он уже «Старший», но всё остальное человечество и сам сервер всё еще считают его «Младшим». Произошел первый разрыв реальности.
2. В пути: Кирилл жмет кнопку «Сохранить». Новая должность превращается в цифровой пакет и летит через провода. В этот момент данные не принадлежат ни его экрану, ни базе — они «висят» где-то в кабеле под Атлантикой или у вашего провайдера.
3. Во внутрянке: Сервер получает данные. Прежде чем записать их в базу, он проверяет: «А имеет ли Кирилл право сам себя повышать?». Пока сервер думает, новые данные существуют только в его оперативной памяти.
4. В базе: И только когда сервер сказал «Окей», он записывает обновление в хранилище. Синхронизация случилась.
🤔 В чем подвох?
Получается, что данные — это не статичная картинка, а процесс. Они равномерно «размазаны» по всему пути от кнопки до жесткого диска.
Самая большая неразбериха и ошибки случаются именно потому, что на каждом этапе этого пути данные могут быть разными. На экране у пользователя уже «всё готово», а в базе случилась заминка, и данные не обновились. В итоге мы получаем ту самую чехарду, когда вы обновили страницу, а ваша старая фамилия вернулась на место.
Инженер не просто «рисует формочки» или «пишет в базу». Он управляет потоками информации. Ваша работа — следить, чтобы этот «испорченный телефон» между экраном, сервером и базой работал без сбоев и все участники процесса в итоге договорились об одной версии правды.
10МДК
Post #12
158

- 🔥 6
- ❤ 2