RU

Как Jepsen ломает распределённые базы: разбор бага в CockroachDB

Запись вернула ошибку, но значение всё равно оказалось в базе. Именно такие сбои Jepsen вытаскивает из распределённых систем: в ст…

JepsenCockroachDBраспределённые базы данныхконсистентностьлинеаризуемостьсериализуемостьтранзакцииотказоустойчивостьконкурентные ошибкитестирование сбоев
Habr
RU

Ваш PostgreSQL болеет молча. Десяток запросов, чтобы это увидеть

Пятница, вечер. Один эндпоинт начал отвечать восемь секунд вместо двухсот миллисекунд, а в Grafana всё зелёное. PostgreSQL редко падает громко — он не…

postgresqlпроизводительностьidesqlиндексыvacuumbloatтранзакциитяжелые запросы
Habr
RU

Контекстные менеджеры в Python за пределами with open(): пишем свои и упрощаем код

with open() знают все. Но контекстные менеджеры в Python — это не только про файлы. Они помогают безопасно управлять соединен…

контекстные менеджерыPythonwithcontextmanagerasync Pythonтранзакцииработа с БДcleanupcontextlibasynccontextmanager
Habr
RU

Хотелось пополнить резюме, а написала LSM-движок с MVCC, снапшотами и Value Log на чистом Go

Неделю назад я не думала, что буду писать базу данных . Начиналось всё с банального «хочу строчку в резюме». А получилось: LSM‑дерево, MVCC, снапшоты,…

scoriadblsm-treemvcckey-value databasegoтранзакцииcolumn families
Habr