Домен
Базы данных
Профиль навыка
ACID, уровни изоляции, deadlocks, MVCC, advisory locks
Ролей
7
где встречается этот навык
Грейдов
5
сформированная дорожка роста
Обязательных требований
31
ещё 4 — необязательные
Базы данных
Оптимизация БД
17.03.2026
Выберите текущий грейд и сравните ожидания. Карточки ниже покажут, что нужно закрыть для следующего уровня.
Таблица показывает, как меняется глубина владения навыком от Junior до Principal.
| Роль | Обязательность | Описание |
|---|---|---|
| 1С Developer | Понимает основы транзакций баз данных на платформе 1C:Enterprise. Использует базовые механизмы транзакций для обеспечения консистентности данных при проведении документов. Следует рекомендациям по определению границ транзакций, обработке ошибок с rollback и избеганию длительных транзакций в пользовательских сессиях. | |
| Backend Developer (C#/.NET) | Обязателен | Понимает ACID и уровни изоляции. Использует DbContext SaveChanges как unit of work. Обрабатывает concurrency через RowVersion/Timestamp. Знает разницу между optimistic и pessimistic locking. |
| Backend Developer (Elixir) | Обязателен | Использует базовые транзакции в Elixir через Ecto.Repo.transaction/1 для атомарных операций. Понимает концепции ACID в контексте PostgreSQL и Ecto. Обрабатывает ошибки транзакций через pattern matching на {:ok, result} и {:error, reason}. |
| Backend Developer (Java/Kotlin) | Обязателен | Понимает ACID-свойства и уровни изоляции. Использует @Transactional в Spring для управления транзакциями. Обрабатывает deadlocks и optimistic locking через @Version. Знает разницу между read committed и repeatable read. |
| Backend Developer (PHP) | Обязателен | Использует транзакции для атомарных операций: BEGIN/COMMIT/ROLLBACK. Понимает ACID-свойства. Оборачивает в транзакцию связанные изменения. Знает про уровни изоляции на базовом уровне. |
| Backend Developer (Scala) | Обязателен | Понимает основы транзакций баз данных и свойства ACID в Scala-приложениях. Использует базовое управление транзакциями через Slick, Doobie или JDBC. Следует командным соглашениям по границам транзакций, корректному освобождению ресурсов и обработке конкурентного доступа с подходящими уровнями изоляции. |
| Database Engineer / DBA | Понимает основы транзакций баз данных, свойства ACID и уровни изоляции. Мониторит активные транзакции и выявляет базовые проблемы блокировок. Следует рекомендациям по настройке transaction log, управлению lock timeout и устранению простых сценариев deadlock. |
| Роль | Обязательность | Описание |
|---|---|---|
| 1С Developer | Самостоятельно проектирует стратегии транзакций для сложных бизнес-процессов 1C:Enterprise, охватывающих несколько документов и регистров. Реализует паттерны оптимистичной и пессимистичной блокировки. Управляет конкурентным доступом в многопользовательских средах с корректными уровнями изоляции и механизмами разрешения конфликтов. | |
| Backend Developer (C#/.NET) | Обязателен | Самостоятельно проектирует схемы и оптимизирует запросы с Транзакции и конкурентность. Понимает индексирование и планы выполнения запросов. Использует Entity Framework Core эффективно. |
| Backend Developer (Elixir) | Обязателен | Самостоятельно проектирует схемы и оптимизирует запросы с Транзакции и конкурентность. Понимает индексирование и планы выполнения запросов. Использует Ecto эффективно. |
| Backend Developer (Java/Kotlin) | Обязателен | Самостоятельно проектирует схемы и оптимизирует запросы с Транзакции и конкурентность. Понимает индексирование и планы выполнения запросов. Использует Hibernate/JPA эффективно. |
| Backend Developer (PHP) | Обязателен | Самостоятельно проектирует стратегии управления транзакциями в PHP-приложениях с использованием PDO, Doctrine или Eloquent ORM. Реализует корректные границы транзакций для сложных бизнес-операций. Обрабатывает deadlock detection и retry-логику, управляет savepoints и оптимизирует длительность транзакций. |
| Backend Developer (Scala) | Обязателен | Самостоятельно проектирует схемы и оптимизирует запросы с Транзакции и конкурентность. Понимает индексирование и планы выполнения запросов. Использует Slick/Doobie эффективно. |
| Database Engineer / DBA | Самостоятельно управляет поведением транзакций в различных СУБД, настраивая уровни изоляции для конкретных паттернов нагрузки. Диагностирует и разрешает deadlock с помощью планов выполнения и инструментов мониторинга блокировок. Реализует advisory lock, two-phase commit и управление transaction log для высоконагруженных сред. |
| Роль | Обязательность | Описание |
|---|---|---|
| 1С Developer | Обязателен | Проектирует архитектуру транзакций для высоконагруженных систем 1C:Enterprise с распределённой обработкой данных. Реализует saga-паттерны для длительных бизнес-процессов, охватывающих несколько информационных баз. Оптимизирует производительность транзакций, минимизирует lock escalation. Менторит команду по best practices конкурентности. |
| Backend Developer (C#/.NET) | Обязателен | Проектирует транзакционную модель: distributed transactions через Saga (MassTransit), eventual consistency, compensating transactions. Оптимизирует transaction scope. Использует TransactionScope для cross-DbContext. |
| Backend Developer (Elixir) | Обязателен | Реализует сложные транзакционные сценарии через Ecto.Multi для цепочек операций с rollback. Настраивает уровни изоляции PostgreSQL для конкурентных Elixir-процессов. Применяет advisory locks через Ecto для координации между GenServer-процессами и нодами кластера. |
| Backend Developer (Java/Kotlin) | Обязателен | Проектирует транзакционную модель для Java-сервисов: distributed transactions через Saga, eventual consistency через events, compensating transactions. Оптимизирует transaction scope для минимизации lock contention. |
| Backend Developer (PHP) | Обязателен | Проектирует транзакционную стратегию: optimistic vs pessimistic locking, advisory locks, serializable isolation для критичных операций. Обрабатывает deadlocks. Реализует saga pattern для распределённых транзакций. |
| Backend Developer (Scala) | Обязателен | Проектирует архитектуры транзакций для высоконагруженных Scala-систем с продвинутыми паттернами: saga, outbox, event sourcing для распределённой консистентности. Реализует STM для in-memory конкурентности совместно с транзакциями БД. Оптимизирует throughput транзакций через настройку connection pool и batch-обработку. Менторит команду. |
| Database Engineer / DBA | Обязателен | Проектирует стратегии транзакций для высоконагруженных распределённых СУБД с требованиями кросс-шардовой консистентности. Реализует продвинутые механизмы управления конкурентностью: тюнинг MVCC, serializable snapshot isolation, распределённые транзакции. Оптимизирует производительность transaction log. Менторит команду. |
| Роль | Обязательность | Описание |
|---|---|---|
| 1С Developer | Обязателен | Определяет стратегию управления транзакциями и стандарты конкурентности для продуктов 1C:Enterprise на уровне организации. Устанавливает паттерны обработки распределённых транзакций между интегрированными системами. Проводит архитектурные ревью, обеспечивая консистентность данных и оптимальную производительность. |
| Backend Developer (C#/.NET) | Обязателен | Определяет стандарты транзакций: правила DbContext lifetime, isolation levels, стратегии обработки конфликтов. Проводит review транзакционных границ. |
| Backend Developer (Elixir) | Обязателен | Проектирует транзакционную архитектуру для распределённых Elixir-систем. Внедряет Saga-паттерн через Ecto.Multi и GenServer для межсервисных операций. Определяет стратегию оптимистичных блокировок через Ecto.Changeset.optimistic_lock и обработки конфликтов. |
| Backend Developer (Java/Kotlin) | Обязателен | Определяет стандарты транзакций в команде: правила использования @Transactional, isolation levels по умолчанию, стратегии обработки конфликтов. Проводит review транзакционных границ. |
| Backend Developer (PHP) | Обязателен | Определяет стандарты транзакционности: политики retry, timeout-ы, мониторинг long-running транзакций. Обучает команду правильной работе с isolation levels и конкурентным доступом. |
| Backend Developer (Scala) | Обязателен | Определяет стратегию работы с данными на уровне продукта. Формирует стандарты Транзакции и конкурентность. Проводит review схем данных и стратегий масштабирования. |
| Database Engineer / DBA | Обязателен | Определяет стандарты управления транзакциями и политики контроля конкурентности на уровне организации для разных СУБД. Устанавливает руководства по выбору уровней изоляции, паттернам распределённых транзакций и performance budget. Проводит ревью критичных транзакционных решений, обеспечивая целостность данных. |
| Роль | Обязательность | Описание |
|---|---|---|
| 1С Developer | Обязателен | Определяет data-стратегию организации. Оценивает и выбирает database-технологии для разных use cases. Проектирует multi-region data architectures. |
| Backend Developer (C#/.NET) | Обязателен | Проектирует consistency-модель платформы: strong vs eventual consistency по доменам. Определяет distributed transaction стратегию между .NET-сервисами. |
| Backend Developer (Elixir) | Обязателен | Определяет стандарты транзакционной целостности для всей Elixir-платформы. Проектирует distributed transactions через двухфазный коммит на базе GenServer и Ecto.Multi. Разрабатывает фреймворк компенсирующих транзакций для eventual consistency между микросервисами. |
| Backend Developer (Java/Kotlin) | Обязателен | Проектирует consistency-модель платформы: какие операции требуют strong consistency, где допустима eventual. Определяет стратегию распределённых транзакций между сервисами. |
| Backend Developer (PHP) | Обязателен | Проектирует стратегию consistency на уровне платформы: strong vs eventual consistency, distributed transactions, two-phase commit vs saga. Определяет trade-offs для различных бизнес-сценариев. |
| Backend Developer (Scala) | Обязателен | Определяет стратегию управления транзакциями на уровне Scala-платформы: стандарты Saga-паттерна для распределённых транзакций в Akka-кластере, политики изоляции для OLTP/OLAP нагрузок. Принимает решения по eventual consistency vs strong consistency для различных доменов, проектирует компенсационные механизмы. |
| Database Engineer / DBA | Обязателен | Определяет transaction management стратегию: isolation levels для разных workloads (OLTP vs analytics), distributed transactions (2PC, Saga), optimistic vs pessimistic locking guidelines. Формирует стандарты data consistency для всей платформы. |