added theory bd acid base

This commit is contained in:
Dmitry Medvedev
2026-07-11 18:24:14 +05:00
parent cfb837fcbf
commit e8cb1448dd
+40
View File
@@ -0,0 +1,40 @@
- **Задание 1. Интернет‑банк**
**В интернет‑банке** пользователь переводит 1000 ₽ с карты А на карту Б.
Во время операции связь на секунду пропадает, запрос дублируется, и на сервер приходят два очень похожих запроса перевода подряд.
**Нужно:**
- указать, какие свойства ACID здесь особенно важны и почему;
АТОМАРНОСТЬ (СДЕЛАНО ОДНО ДЕЙСТВИЕ, ЗНАЧИТ ДОЛЖЕН БЫТЬ ОДИН ЗАПРОС НА ПЕРЕВОД, А НЕ ДВА), ДЮРАБИЛИТИ (ОТСУТСТВУЕТ НАДЕЖНОСТЬ У ДАННОЙ ТРАНЗАКЦИИ).
- описать, какие проблемы могут возникнуть, если этих свойств не будет (например, нет атомарности или изолированности).
ЕСЛИ ЭТИХ СВОЙСТВ НЕ БУДЕТ, ТО ПРОИЗОЙДУТ ОШИБКИ, ДВА ОДИНАКОВЫХ ЗАПРОСА ИЛИ НЕИСПОЛНЕНИЕ ЗАПРОСА ВООБЩЕ.
- **Задание 2. Лента новостей и лайки**
**В социальной сети:**
- пользователь ставит лайк под постом;
- у его друга этот лайк появляется в ленте только через 5–10 секунд;
- иногда счётчик лайков на разных устройствах на пару секунд показывает разные значения.
**Нужно:**
- решить, ближе ли эта система по поведению к ACID или к BASE и почему
ЭТА СИСТЕМА БЛИЖЕ К БЭЙС. У ДАННОЙ СИСТЕМЫ НЕТ СТРОГИХ ОГРАНИЧЕНИЙ.
- **Задание 3. Заказы в интернет‑магазине**
**В интернет‑магазине:**
- при оформлении заказа запись о заказе и списание товара со склада делаются в **одной транзакции**;
- статистика «топ‑товары недели» обновляется раз в несколько минут на отдельном сервисе, и пару минут может показывать старые данные.
**Нужно:**
- указать, какая часть системы ведёт себя по принципам ACID, а какая — по принципам BASE;
ЗАПИСЬ О ЗАКАЗЕ И СПИСАНИЕ ТОВАРА - ЭТО ACID.
СТАТИСТИКА - BASE.
- объяснить, почему такое разделение логично: где нам важна немедленная строгая точность, а где допускается небольшое отставание и eventual consistency.
В ПЕРВОМ СЛУЧАЕ НУЖЕН ACID потому что требуются свойства ACID, а во втором эти свойства необзяательны, нет ничего страшного в том, что данная БД обновится чуть позже.