Postgresql

Мульти-хранилищный стенд: один сценарий по всем БД и карта выбора

Мульти-хранилищный стенд: один сценарий по всем БД и карта выбора

Финал серии: единый сценарий (списание с инвариантом «баланс не в минус») реализован поверх PostgreSQL, Redis, MongoDB и ScyllaDB и прогнан одним нагрузчиком. Что каждая система гарантирует из коробки, что ломается под конкуренцией, цена корректности — и итоговая карта выбора

Как выбирать и использовать индексы

Как выбирать и использовать индексы

Практика индексов: селективность и кардинальность, покрывающие индексы и index-only scan, составные индексы и порядок колонок, частичные и функциональные, и главное — почему индекс НЕ используется и как это увидеть

Транзакции в реляционных БД на практике: PostgreSQL, изоляция и нагрузочный стенд

Транзакции в реляционных БД на практике: PostgreSQL, изоляция и нагрузочный стенд

PostgreSQL как эталон управляемой изоляции: уровни в деле, SELECT FOR UPDATE, SERIALIZABLE с retry на 40001, advisory locks. Примеры на Go (pgx) и Java (JDBC) плюс нагрузочный стенд, воспроизводящий lost update и write skew под конкуренцией

sqlc и SQL-builders в Go: генерация кода из SQL vs конструирование запросов

sqlc и SQL-builders в Go: генерация кода из SQL vs конструирование запросов

Два подхода к работе с SQL в Go без ORM на одном домене: sqlc генерирует типизированный код из SQL, а SQL-builders (squirrel, goqu) конструируют запросы программно. Где каждый силён, где кусается и как их комбинировать