Базы данных

Redis вглубь: структуры данных и их внутренние кодировки

Redis вглубь: структуры данных и их внутренние кодировки

Redis — не «строковый кэш», а сервер структур данных. Разбираем strings/hashes/lists/sets/zsets/streams и то, что скрыто под ними: внутренние кодировки (listpack, intset, skiplist, quicklist) и правила переключения между компактным и «большим» представлением. Честно: когда какая структура уместна и во что она обходится по памяти и по времени.

Идентификаторы и производительность: локальность, bloat, WAL

Идентификаторы и производительность: локальность, bloat, WAL

Случайный ID (UUIDv4) деградирует вставку в PostgreSQL: ниже плотность листьев B-tree, больше WAL, крупнее первичный индекс — измерено на стенде против bigint и монотонного UUIDv7. Плюс кросс-движковый разбор: миф «UUID-PK раздувает вторичные индексы» верен для MySQL/InnoDB и неверен для PostgreSQL; и когда монотонный ключ создаёт горячий шард (MongoDB ranged), а когда нет (ScyllaDB и Mongo hashed).

В работе

Ближайшие материалы, которые продолжают этот раздел.

Базы данных

Redis: где он помогает, где создаёт проблемы и почему "просто поставим кэш" — плохой план

Вводный материал про Redis как класс решений: паттерны, анти-паттерны, ограничения и подходы к надёжности.

Базы данных

PostgreSQL в Docker: что можно, что нельзя и как не потерять данные

Практический baseline для PostgreSQL в контейнерах: volume, backup, healthcheck и границы допустимого production.

Базы данных

ClickHouse в контейнерах: когда это удобно, а когда лучше не надо

Разбор dev- и lab-сценариев для ClickHouse и того, где контейнеризация уже начинает мешать эксплуатации.