- Опубликовано
Куда пихать бизнес-логику? Кажется, что ответ...
- Автор
- Имя
- Максим | Системный анализ
- Telegram
- Максим | Системный анализ349 подписчиков59 постовКак войти в IT через системный анализ и получить оффер от 270к+. Опыт Senior аналитика из топ-банков. Разборы, практика, собесы, техника мышления аналитика. Бесплатная консультация - в закрепе.
Куда пихать бизнес-логику?Кажется, что ответ очевиден: бизнес-логика должна жить в коде. Но бывает, что приложение начинает тратить кучу времени на перегон данных по сети, и при этом страдает согласованность данных. Тогда возникает соблазн использовать триггеры. Они автоматически срабатывают при выполнении какого-то действия в базе Виды событий, которые могут запустить триггер: DML (вставка, изменение, удаление строки) DDL (вставка, изменение, удаление какого-нибудь объекта, например, таблицы) Системные (например, LOGON, STARTUP) Частота запуска: FOR EACH ROW (на каждую строку) FOR EACH STATEMENT (один раз на всю команду) Момент срабатывания: BEFORE (до выполнения операции, возможно изменить значения) AFTER (после операции, когда данные уже записаны, но транзакция не завершена) INSTEAD OF (вместо операции) Почему триггеров надо бояться, как огня? Триггер это мощный, но крайне опасный инструмент: 🔥 Триггер вызывается внутри транзакции и замедляет ее. Внедрение триггеров может снизить производительность в десятки раз 🔥 Поэтому, если в триггере произошла ошибка, случится полный откат (в том числе того действия, которое вызвало триггер) 🔥 Порядок срабатывания нескольких триггеров одного типа на одно событие случаен 🔥Триггер может изменить данные, которые вызовут срабатывание других триггеров. Неконтролируемая каскадная цепочка способна положить сервер 🔥 Если триггер А меняет таблицу Б, на которой висит триггер Б, который меняет таблицу А… Всё падает в рекурсию ‼️ А в Oracle построчный триггер ещё и не может работать с таблицей, на которой он сработал. Системный аналитик должен учитывать эту особенность при написании ТЗ
@maximbelovmentor
Максим | Системный анализ
349 подписчиков
59 постов
Как войти в IT через системный анализ и получить оффер от 270к+.
Опыт Senior аналитика из топ-банков.
Разборы, практика, собесы, техника мышления аналитика.
Бесплатная консультация - в закрепе.
Закрепленные
Свежие посты
- Опубликовано
Замечаю, что начинающие системные аналитики...
Замечаю, что начинающие системные аналитики пугаются, когда с привычного REST нужно переключиться на gRPC. Чтобы снять этот страх и сделать...
- Опубликовано
RPC как архитектурный стиль
RPC как архитектурный стиль
Когда говорят о RPC, часто вспоминают конкретные фреймворки, но вообще-то это отдельный архитектурный стиль, который...
- Опубликовано
Застрял на задаче или идешь на собес?
Застрял на задаче или идешь на собес?
Рассказываю, как за один созвон подтянуть харды, вытянуть сложный проект и понять, как повысить грейд 🎧☝️ Пиши
- Опубликовано
Несколько дней назад мы разбирали, почему...
Недавно мы разбирали, почему нельзя использовать триггеры баз данных для бизнес-логики. Но зачем же тогда нужны триггеры и когда их...
- Опубликовано
Куда пихать бизнес-логику? Кажется, что ответ...
Куда пихать бизнес-логику?
Кажется, что ответ очевиден: бизнес-логика должна жить в коде. Но бывает, что приложение начинает тратить кучу времени...
- Опубликовано
Как аналитику использовать CJM?
Как аналитику использовать CJM?Customer Journey Map (CJM) принято считать инструментом продакт-менеджеров. Но и для аналитика это не "картинка с...
- Опубликовано
Зачем аналитику UX?
Зачем аналитику UX?Многие думают, что UX нужен только дизайнерам. Но что если нырнуть чуть глубже?UX расшифровывается как user experience...
- Опубликовано
🔠🔠🔠 🔠🔠🔠🔠🔠
«Сделал БД за минуту через нейронку»
Звучит неплохо. А потом тебе на ревью объяснять, почему именно такая схема.
В видео разобрал на примере, как...




