40 lines
3.4 KiB
SQL
40 lines
3.4 KiB
SQL
- **Задание 1. Интернет‑банк**
|
||
|
||
**В интернет‑банке** пользователь переводит 1000 ₽ с карты А на карту Б.
|
||
|
||
Во время операции связь на секунду пропадает, запрос дублируется, и на сервер приходят два очень похожих запроса перевода подряд.
|
||
|
||
**Нужно:**
|
||
|
||
- указать, какие свойства ACID здесь особенно важны и почему;
|
||
СОГЛАСОВАННОЙ ЧЕРЕЗ УНИКАЛЬНЫЙ КЛЮЧ ОБНАРУЖИВАЕТ ПОВТОРНЫЙ ЗАПРОС, А АТОМАРНОСТЬ ГАРАНТИРУЕТ, ЧТО ЭТА НЕУДАВШАЯСЯ ПОПЫТКА НЕ ИЗМЕНИТ БАЛАНС
|
||
- описать, какие проблемы могут возникнуть, если этих свойств не будет (например, нет атомарности или изолированности).
|
||
ЕСЛИ ЭТИХ СВОЙСТВ НЕ БУДЕТ, ТО ПРОИЗОЙДУТ ОШИБКИ, ДВА ОДИНАКОВЫХ ЗАПРОСА ИЛИ НЕИСПОЛНЕНИЕ ЗАПРОСА ВООБЩЕ.
|
||
|
||
- **Задание 2. Лента новостей и лайки**
|
||
|
||
**В социальной сети:**
|
||
|
||
- пользователь ставит лайк под постом;
|
||
- у его друга этот лайк появляется в ленте только через 5–10 секунд;
|
||
- иногда счётчик лайков на разных устройствах на пару секунд показывает разные значения.
|
||
|
||
**Нужно:**
|
||
|
||
- решить, ближе ли эта система по поведению к ACID или к BASE и почему
|
||
ЭТА СИСТЕМА БЛИЖЕ К БЭЙС. У ДАННОЙ СИСТЕМЫ НЕТ СТРОГИХ ОГРАНИЧЕНИЙ.
|
||
|
||
- **Задание 3. Заказы в интернет‑магазине**
|
||
|
||
**В интернет‑магазине:**
|
||
|
||
- при оформлении заказа запись о заказе и списание товара со склада делаются в **одной транзакции**;
|
||
- статистика «топ‑товары недели» обновляется раз в несколько минут на отдельном сервисе, и пару минут может показывать старые данные.
|
||
|
||
**Нужно:**
|
||
|
||
- указать, какая часть системы ведёт себя по принципам ACID, а какая — по принципам BASE;
|
||
ЗАПИСЬ О ЗАКАЗЕ И СПИСАНИЕ ТОВАРА - ЭТО ACID.
|
||
СТАТИСТИКА - BASE.
|
||
- объяснить, почему такое разделение логично: где нам важна немедленная строгая точность, а где допускается небольшое отставание и eventual consistency.
|
||
В ПЕРВОМ СЛУЧАЕ НУЖЕН ACID потому что требуются свойства ACID, а во втором эти свойства необзяательны, нет ничего страшного в том, что данная БД обновится чуть позже. |