и посмотреть медиа
Motor - programadores
и посмотреть медиа
Desarrolladores de motores.
Desarrolladores de motores.
bot de IA para clonar texto a voz y voz en Telegram. Cree audio utilizando la red neuronal de forma rápida y fácil.
Comunidad de programadores de backend: Python, Java, Golang, PHP, DevOps.
🤔 Что такое блокировки (локи) в БД? Блокировки (локи) в базе данных - это механизмы, которые управляют доступом к данным, чтобы обеспечить их целостность и предотвратить конфликты при одновременном доступе нескольких транзакций. 🚩Основные типы 🟠Блокировки уровня таблицы (Table-Level Locks): ACCESS SHARE: Позволяет чтение данных, блокирует команды, изменяющие таблицу. ROW SHARE: Применяется для команд SELECT FOR UPDATE и SELECT FOR SHARE. ROW EXCLUSIVE: Используется при вставке, обновлении или удалении строк. SHARE UPDATE EXCLUSIVE: Используется для команд VACUUM. SHARE: Обеспечивает видимость текущего состояния данных (ANALYZE). SHARE ROW EXCLUSIVE: Используется для операций, требующих более строгого контроля (CREATE INDEX CONCURRENTLY). EXCLUSIVE: Требуется для команд, изменяющих структуру таблицы (ALTER TABLE). ACCESS EXCLUSIVE: Блокирует все команды, включая SELECT (DROP TABLE, ALTER TABLE). 🟠Блокировки уровня строки (Row-Level Locks): SELECT FOR UPDATE: Блокирует строки для изменения. SELECT FOR NO KEY UPDATE: Похоже на SELECT FOR UPDATE, но позволяет другим транзакциям выполнять SELECT FOR SHARE и SELECT FOR KEY SHARE. SELECT FOR SHARE: Блокирует строки для чтения. SELECT FOR KEY SHARE: Похоже на SELECT FOR SHARE, но позволяет другим транзакциям выполнять SELECT FOR NO KEY UPDATE и SELECT FOR UPDATE. 🟠Консультативные блокировки (Advisory Locks): Устанавливаются вручную для синхронизации произвольных ресурсов. pg_advisory_lock: Устанавливает консультативную блокировку. pg_advisory_unlock: Снимает консультативную блокировку. pg_try_advisory_lock: Пытается установить консультативную блокировку без ожидания. 🚩Основные цели 🟠Предотвращение гонок (race conditions): Обеспечивают корректность данных при одновременном доступе нескольких транзакций. 🟠Изоляция транзакций: Выполнение каждой транзакции в изолированном контексте. 🟠Защита целостности данных: Предотвращение одновременного изменения данных, что может привести к их несогласованности. 🚩Примеры использования 🟠Интернет-магазин: Блокировки могут предотвращать одновременное изменение состояния товара. 🟠Банковские операции: При переводе средств используются блокировки для предотвращения одновременного списания или зачисления. 🟠Редактирование данных: При одновременном редактировании одной записи несколькими пользователями. 🚩Проблемы, связанные с блокировками 🟠Дедлоки (Deadlocks): Ситуация, когда транзакции блокируют друг друга, ожидая освобождения ресурсов. 🟠Гранулярность блокировок: Блокировки высокой гранулярности могут снижать производительность. Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаSolo los usuarios registrados pueden compartir su opinión.
¡Sé el primero en compartir tu experiencia con este recurso!