Всем привет! Это Алексей Рыбак, основатель R&D-центра Devhands. Мы занимаемся образованием экспертного уровня, внимательно следим за краткосрочными и долгосрочными трендами в индустрии, поэтому предлагаем вашему вниманию очень интересную на наш взгляд ретроспективную статью Константина РатвинаЧитать полностью »
Рубрика «acid»
Eventually-consistent СУБД — всё?
2025-12-24 в 10:53, admin, рубрики: acid, base, Eventual consistency, базы данных, распределенные системы, СУБДУровни изоляции транзакций: практическая механика и сравнение PostgreSQL, MySQL, Oracle, SQL Server и DB2
2025-10-29 в 7:15, admin, рубрики: acid, backend, concurrency control, database, database design, database optimization, mvcc, mysql, postgresql, изоляция транзакцийТранзакции — не про «магическое ACID», а про конкретную механику согласованного доступа к данным под нагрузкой.
Эта статья объясняет как реально работают уровни изоляции и чем отличаются популярные СУБД на практике.
Мы разберём:
-
базовые и расширенные уровни (ANSI SQL-92 и вне стандарта),
-
MVCC, snapshot isolation и serializable snapshot isolation,
-
аномалии (dirty read, non-repeatable, phantom, lost update, out-of-order read, write skew),
-
переключения уровня в коде и «пересечение» разных уровней между конкурентными транзакциями.
Коротко: что такое изоляция и почему стандарт — не весь мир
IsolationЧитать полностью »
Когда база устала искать: архитектура OpenSearch для больших данных
2025-10-29 в 6:16, admin, рубрики: acid, BigData, CDC, opensearch, pgvector, postgis, postgresql, архитектура, индексация, поискШардированный не значит распределённый: что важно знать, когда PostgreSQL становится мало
2025-05-13 в 8:42, admin, рубрики: acid, citus, consistency, dbms, distributed, postgres, postgresql, ydb, СУБД
Год назад мы опубликовали пост «Когда одного Postgres'a мало: сравнение производительности PostgreSQL и распределённых СУБДЧитать полностью »
Транзакции в базах данных на примере PostgreSQL
2024-11-25 в 5:16, admin, рубрики: acid, postgresql, транзакции, уровни изоляции бдОбщие сведения о транзакциях
Транзакция - это набор операций с базой данных. В этот набор может входить как одна операция, так и несколько. Операции внутри транзакции либо выполняются все и полностью, либо ни одна операция не выполняется. Это свойство еще называют атомарностью. Транзакция переводит базу данных из одного согласованного состояния в другое. Согласованность означает что данные в базе данных подчиняются определенным правилам, которые были заложены при ее создании. К примеру у нас есть две таблицы - Покупатели (Customer) и Покупки (Purchase).
Уровни изоляции транзакций в PostgreSQL, MySQL, MSQL, Oracle с примерами на Go
2024-11-11 в 5:15, admin, рубрики: acid, atomicity, isolation levels, mysql, postgresql, transactions, бд, транзакция, уровни изоляции, уровни изоляции бдВступление
В данной статье обсудим проблемы, возникающие при конкурентной работе с данными, а также инструменты для их решения – атомарные инструкции, явные и неявные блокировки и уровни изолированности транзакций, реализованные в OLTP СУБД PostgreSQL, MySQL, SQL Server, Oracle с примерами на Go. Поговорим о деталях их реализации в указанных СУБД. На примере PostgreSQL проведем benchmark-тестирование производительности уровней изоляции с использованием инструмента pgbench.
Docker – compose с СУБД и код примеров можно найти в Читать полностью »
Немного о Durability в Postgres. Часть 1
2024-11-02 в 5:15, admin, рубрики: acid, durability, index, indexing, postgres, postgresql, sql, walКак известно, многие реляционные базы данных, а в данном конкретном случае PostgreSQL, обещают нам, что наши транзакции будут обладать соответствовать критериям ACID (Атомарность, Согласованность, Изолированность, Сохраняемость), при должном уровне конфигурирования тех или иных настроек.
Транзакции PostgreSQL, Требования ACID, примеры. Подготовка к собеседованию, изучение
2024-09-16 в 14:31, admin, рубрики: acid, postgresql, базы данных, Принципы ACID, транзакции, транзакция, требования, что такое ACID, Что такое транзакцииПриветствую тебя читатель, я решил написать про ACID и Транзакции PostgreSQL своим языком, с понятными примерами, эта статья ориентирована на людей готовящихся к собеседованию, кто захотел узнать нюансы транзакций в PostgreSQL или про ACID, а также для людей которые знают теорию, но сами ещё ни разу не писали транзакции. Я не ставил перед собой цели рассмотреть и объяснить работу транзакций на очень глубоком уровне. Была цель привести понятные примеры, дать макет работы с транзакциями, а также пощупать основные возможные проблемы при работе с транзакциями в PostgreSQL.
Базы данных: большой обзор типов и подходов. Доклад Яндекса
2020-10-06 в 7:59, admin, рубрики: acid, key-value storage, sql, Администрирование баз данных, Анализ и проектирование систем, Блог компании Яндекс, графовые базы данных, денормализация, индексы, нереляционные базы данных, нормализация, реляционные базы данных, репликация, хранение данных, шардингЭто конспект лекции Татьяны Денисовой — бэкенд-разработчика в Яндекс.Учебнике. Вы узнаете, какие бывают базы данных, какие их особенности важно помнить, как в работе с данными учитывать характеристики системы и планы масштабирования, в какую из тем нужно углубиться для решения конкретной задачи. А также как при возникновении багов определить, является ли работа с БД источником проблемы (и если да, то в какую сторону копать).
— О чем именно мы будем говорить? Не о примитивных селектах и джойнах — о них, я думаю, большинство из вас уже знает.
Читать полностью »
Заставляем любой процесс работать с транзакционной NTFS: мой первый шаг к созданию песочницы для Windows
2020-01-28 в 10:03, admin, рубрики: acid, Delphi, native api, ntdll, ntfs, sandboxing, transactions, TxF, windows, Программирование, разработка под windows, системное программирование
В ядре Windows есть модуль, отвечающий за поддержку группировки файловых операций в некоторую сущность, называемую транзакцией. Действия над этой сущностью изолированы и атомарны: её можно применить, сделав перманентной, или откатить. Очень удобно при установке программ, согласитесь? Мы всегда переходим от одного согласованного состояния к другому, и если что-то идёт не так, все изменения откатываются.
С тех пор, как я узнал о поддержке такой функциональности, я всегда хотел посмотреть на мир изнутри этих транзакций. И знаете что: я нашёл простой и поистине замечательный метод заставить любой процесс работать внутри файловой транзакции, но поля книги слишком узки для него. В большинстве случаев, для этого не требуются даже административные привилегии.
Давайте разберёмся, как же это работает, поэкспериментируем с моей программой, и поймём, при чём тут вообще песочницы.
