Для поиска дедлоков, или взаимоблокировок, СУБД анализирует граф блокировок: транзакции представлены узлами, а зависимости по ресурсам — связями В PostgreSQL периодически выполняется поиск циклов в wait-for graph…
Что представляет собой Redis и где его применяют? In-memory СУБД с моделью ключ-значение Очень высокая скорость за счёт хранения данных в оперативной памяти Работа с разными структурами данных: строками, списками,…
Как Redis-кеширование используется для оптимизации? Redis — это In-Memory хранилище с минимальной задержкой Его применяют для хранения данных, которые запрашиваются особенно часто Наиболее распространённый вариант —…
Как долговременное хранение влияет на производительность Redis за долговременное хранение отвечают режимы RDB и AOF RDB по расписанию сохраняет снимки содержимого БД AOF записывает в журнал все операции, необходимые…
Как query planner помогает выявлять причины проблем с производительностью? исследование плана выполнения SQL-операций обнаружение узких мест: полнотекстовый скан, джойны, индексы оценка стоимости (cost) и расчетного…
Почему асинхронность повышает число запросов, обрабатываемых одним потоком? Асинхронность — это модель выполнения, при которой операции могут идти без блокировки потока Пока I/O-операция не завершена, поток не…
Memory barriers и атомарные операции в Go Memory barriers — это низкоуровневые инструкции процессора и компилятора, управляющие порядком операций с памятью. Они не позволяют CPU или компилятору переупорядочить чтения…
способ горизонтального разделения таблиц в БД данные распределяются по подмножествам (партициям) на основании ключа каждая такая часть отдельно хранится и обрабатывается повышает производительность запросов и операций…
Как определить индексы, необходимые для оптимизации? Анализирую нагрузку: начинаю с наиболее часто выполняемых запросов и изучаю их планы выполнения с помощью EXPLAIN/ANALYZE Выявляю столбцы, используемые для…
распределённое кэширование общих данных, доступных нескольким сервисам Redis — in-memory хранилище с низкой задержкой для изоляции доменов применяем ключи с префиксами для автоматического удаления устаревших данных…
Как работать с тестовыми стендами? окружения Dev, QA и Prod отличаются уровнем стабильности и правами доступа Dev предназначен для локальной разработки и быстрых изменений, поэтому часто бывает нестабильным QA…