Для поиска дедлоков, или взаимоблокировок, СУБД анализирует граф блокировок: транзакции представлены узлами, а зависимости по ресурсам — связями В PostgreSQL периодически выполняется поиск циклов в wait-for graph…
Как Redis-кеширование используется для оптимизации? Redis — это In-Memory хранилище с минимальной задержкой Его применяют для хранения данных, которые запрашиваются особенно часто Наиболее распространённый вариант —…
управление конкурентным доступом (Concurrency Control) уровни изоляции (Read Uncommitted → Serializable) блокировки (Locking): shared и exclusive мультиверсионность (MVCC) — хранение версий данных для чтения…
Как в Go реализовать worker pool с ограниченным concurrency? concurrency определяет число одновременно работающих goroutine Для ограничения создают буферизированный канал размером с concurrency Перед запуском worker в…
Транзакция представляет собой последовательность операций, выполняемую как единое целое Атомарность (ACID) означает: либо выполняются все операции, либо не выполняется ни одна При возникновении ошибок используются…
Транзакция представляет собой группу операций, выполняемых как единое целое. Основные команды транзакций: BEGIN TRANSACTION — запускает транзакцию. COMMIT — сохраняет внесённые изменения. ROLLBACK — отменяет изменения…
Конкуренция транзакций, финансовые системы Организовать конкурентный контроль доступа к балансу Использовать атомарные операции либо транзакции с подходящим уровнем изоляции Доступны два подхода: оптимистичная…
Как корректно отменять горутины, выполняющие долгие операции? для управления долгими горутинными операциями в Go используется контекст следует применять context.Context вместе с отменой (CancelFunc) context нужно…
способ горизонтального разделения таблиц в БД данные распределяются по подмножествам (партициям) на основании ключа каждая такая часть отдельно хранится и обрабатывается повышает производительность запросов и операций…
Exactly-once обработка в Kafka: как реализовать и что учесть Тема: обработка сообщений, Kafka, идемпотентность В основе exactly-once находится транзакционная запись в Kafka через Transaction API Применяется…
контроль конкурентного доступа к данным доступные уровни: Read Uncommitted, Read Committed, Repeatable Read, Serializable решение определяется соотношением требований к консистентности и производительности низкие…
Как работает секционирование таблиц (table partitioning) в PostgreSQL? большая таблица разделяется на отдельные части — партиции каждая партиция представляет собой таблицу с собственным условием отбора, например…