SYSTEM ATLASЗагрузка материала
ACIDТранзакции обеспечивают атомарность, согласованность, изоляцию и долговечность.BASEВысокая доступность допускает мягкое состояние и итоговую согласованность.MVCCНесколько версий данных уменьшают конфликт чтения и записи.Write-Ahead LoggingИзменения сначала фиксируются в журнале, затем применяются к данным.Two-Phase CommitКоординатор сначала готовит участников, затем подтверждает транзакцию.Three-Phase CommitДополнительная фаза снижает блокировки при некоторых отказах.Saga PatternДлинная транзакция разбивается на локальные шаги с компенсациями.Transactional OutboxСобытие и изменение данных фиксируются одной локальной транзакцией.Change Data CaptureИзменения БД превращаются в поток событий.CQRSМодели чтения и записи разделяются для независимой оптимизации.Event SourcingСостояние восстанавливается из последовательности неизменяемых событий.Data NormalizationСтруктура таблиц уменьшает избыточность и аномалии обновления.DenormalizationКонтролируемая избыточность ускоряет чтение ценой сложности обновления.ЛинеаризуемостьОперации выглядят атомарными и согласованными с реальным временем.Последовательная согласованностьВсе видят один порядок операций, не обязательно совпадающий с реальным временем.Serializable IsolationРезультат транзакций эквивалентен некоторому последовательному выполнению.Snapshot IsolationТранзакция читает согласованный снимок и проверяет конфликты записи.Сериализуемость транзакцийРезультат параллельных транзакций должен соответствовать некоторому последовательному порядку.Write SkewПараллельные изменения разных строк могут совместно нарушить инвариант.Phantom ReadПовторный запрос может увидеть новые строки, появившиеся во время транзакции.Lost UpdateОдна запись незаметно перезаписывает результат другой параллельной записи.Двухфазная фиксация 2PCКоординатор сначала готовит участников, затем подтверждает общую транзакцию.Трехфазная фиксация 3PCДобавляет промежуточное состояние для уменьшения неопределенности при отказе координатора.Write-Ahead LogИзменения сначала фиксируются в журнале, а затем применяются к основным данным.Материализованное представлениеХранит заранее вычисленный результат запроса ради быстрого чтения.Нормализация данныхСнижает дублирование и аномалии обновления через разделение сущностей.Денормализация данныхОсознанно дублирует данные ради ускорения критичных чтений.Partition PruningИсключает ненужные разделы таблицы до фактического чтения данных.Модель Slowly Changing DimensionsОпределяет способы хранения исторических изменений справочных атрибутов.Data LineageПоказывает происхождение данных и цепочку их преобразований.Schema EvolutionПозволяет изменять структуру данных без одновременного обновления всех потребителей.Data ContractФормализует структуру, смысл и гарантии данных между командами.Data MeshРаспределяет владение аналитическими данными по доменам при общих стандартах платформы.Изменение схемы без остановкиOnline schema change меняет структуру таблицы при продолжающемся чтении и записи с контролируемыми блокировками.Пагинация по ключуСледующая страница выбирается условием по последнему сортировочному ключу, что уменьшает стоимость больших смещений.Управление позициями CDCПотребитель change data capture сохраняет подтверждённую позицию журнала, чтобы продолжать обработку без пропусков и неконтролируемых повторов.Миграция Expand and ContractСначала схема расширяется совместимыми полями, затем данные и клиенты мигрируют, и только после этого старые элементы удаляются.Пул соединений с базой данныхОграниченный набор переиспользуемых соединений уменьшает стоимость установления сессий и защищает базу от неконтролируемого параллелизма.Маршрутизация чтения на репликиЗапросы чтения направляются на реплики с учётом допустимой задержки данных и требований read-after-write.Цикл повтора транзакцииПовтор всей транзакции после временного конфликта с новым снимком и ограниченным числом попыток.Обработка ошибки сериализацииРаспознавание serialization failure как ожидаемого конфликта конкурентности с безопасным повтором всей операции.Политика повтора после deadlockОграниченный повтор отменённой транзакции после взаимной блокировки с джиттером и диагностикой причины.Тайм-аут транзакцииМаксимальная длительность транзакции, после которой она прерывается для ограничения блокировок и удержания ресурсов.Тайм-аут SQL-оператораОграничение времени выполнения отдельной SQL-команды независимо от общей длительности соединения.Тайм-аут бездействующей транзакцииАвтоматическое завершение соединения, оставившего открытую транзакцию без выполнения запросов.Транзакция только для чтенияРежим транзакции, запрещающий изменение постоянных данных и упрощающий контроль аналитических операций.Отложенная serializable-транзакцияSerializable-транзакция только для чтения, ожидающая безопасного снимка и затем работающая без риска serialization abort.Экспорт согласованного снимкаПередача одной точки видимости нескольким транзакциям для согласованного параллельного чтения данных.Слот логической репликацииСостояние сервера, удерживающее необходимые изменения WAL до подтверждения их получения конкретным потребителем.Бюджет задержки репликацииМаксимально допустимое отставание копии по времени или объёму данных для заданного пользовательского сценария.Идентичность реплицируемой строкиНабор столбцов, позволяющий подписчику однозначно найти строку при UPDATE или DELETE.Разрешение конфликтов репликацииПравила выбора результата при несовместимых изменениях или ограничениях на принимающей стороне репликации.Блокировка миграции схемыКоординационный механизм, предотвращающий одновременное выполнение несовместимых миграций несколькими экземплярами.Построение индекса без остановки записиСоздание индекса с минимальным блокированием обычных операций чтения и записи на рабочей таблице.Мониторинг разрастания индексаОценка лишнего дискового пространства и ухудшения эффективности индекса из-за обновлений и мёртвых версий строк.Долг VACUUMНакопленный объём очистки и заморозки версий строк, который система не успевает обработать текущим темпом.Настройка autovacuumПодбор порогов, частоты и ресурсов автоматической очистки с учётом размера и скорости изменений таблиц.Партиционирование горячей таблицыРазделение активно изменяемой большой таблицы на части для ограничения индексов, блокировок и объёма обслуживания.Селективность ключа партиционированияСпособность ключа равномерно и полезно разделять данные так, чтобы запросы обращались к ограниченному числу партиций.Регрессия плана SQL-запросаИзменение выбранного плана, приводящее к существенному ухудшению времени или ресурсов при прежнем запросе.Свежесть статистики базы данныхАктуальность сведений о распределении данных, на которых оптимизатор строит оценки и выбирает план.Согласованность резервной копии БДГарантия, что все части резервной копии соответствуют одной восстанавливаемой точке состояния базы.Окно восстановления на момент времениПериод истории, для которого сохранены базовая копия и журналы, позволяющие восстановить базу к выбранному моменту.Обнаружение утечки соединений БДПоиск соединений, которые остаются занятыми после завершения операции и постепенно исчерпывают пул.Репетиция миграции базы данныхВыполнение миграции на реалистичной копии данных с измерением блокировок, времени, места и возможности отката.Сравнение теневого чтенияПараллельное чтение из старого и нового пути с сопоставлением результатов при ответе пользователю только из основного.Проверка двойной записиКонтроль совпадения данных, записанных одновременно в старую и новую системы во время миграции.Совместимость данных при rollbackСпособность старой версии безопасно читать данные, созданные или преобразованные новой версией.Совместимость: контракт данныхДля «контракт данных» это проверка того, что новое представление данных может быть прочитано и корректно обработано действующими производителями и потребителями.Дедупликация: контракт данныхДля «контракт данных» это обнаружение повторной записи или события по устойчивому ключу с сохранением одного логического эффекта.Предупреждение о дрейфе: контракт данныхДля «контракт данных» это сигнал о статистически или семантически значимом отклонении структуры, значений либо поведения данных от согласованного ожидания.Владение: контракт данныхДля «контракт данных» это явное закрепление владельца, который отвечает за жизненный цикл, изменения, инциденты и вывод компонента из эксплуатации.Бюджет отставания: поток CDCДля «поток CDC» это допустимый предел отставания между источником и производной копией, после которого включаются деградация, остановка или восстановление.Бюджет блокировок: поток CDCДля «поток CDC» это ограничение продолжительности и области блокировок, которое защищает рабочий трафик во время изменения данных.Происхождение данных: поток CDCДля «поток CDC» это запись происхождения данных, преобразований и владельцев, позволяющая проследить путь значения до исходного источника.Окно повторного воспроизведения: поток CDCДля «поток CDC» это ограниченный интервал истории, который можно безопасно повторно обработать для восстановления или исправления результата.Шлюз проверки: поток CDCДля «поток CDC» это обязательная проверка структуры, качества и инвариантов до допуска данных в следующий этап обработки.Совместимость: ретранслятор outboxДля «ретранслятор outbox» это проверка того, что новое представление данных может быть прочитано и корректно обработано действующими производителями и потребителями.Дедупликация: ретранслятор outboxДля «ретранслятор outbox» это обнаружение повторной записи или события по устойчивому ключу с сохранением одного логического эффекта.Доказательство удаления: миграция схемыДля «миграция схемы» это проверяемое подтверждение того, что данные удалены из активных копий и поставлены на удаление из резервных контуров.