Базы данных — страница 2
PostgreSQL, MySQL, SQL Server, SQLite, Redis, SQL, индексы, планы, транзакции, миграции, ORM и конкурентное изменение данных.
Материалы
- Полнотекстовый поиск PostgreSQL
Подготовить языковое представление документа
- Дата, время и часовые пояса в PostgreSQL
Разделить момент времени и локальное расписание
- PostgreSQL: миграции схемы
Согласовать версию приложения и структуры
- PostgreSQL: заполнение новых полей
Планировать постепенное обновление большого набора
- PostgreSQL: роли и минимальные права
Ограничить доступ приложения к объектам
- Копирование и восстановление PostgreSQL
Определить что восстанавливается из резервной копии
- PostgreSQL: сопровождение таблиц и статистики
Объяснить vacuum и актуальность планов
- PostgreSQL: разбор базы веб-приложения
Связать модель, конкуренцию и наблюдаемость
- Node.js: схема PostgreSQL и ограничения данных
Задать заявки, пользователей и историю в SQL.
- Node.js: подключение PostgreSQL через пул
Выполнить параметризованный запрос без утечки соединений.
- Node.js: CRUD заявок в PostgreSQL
Сохранить, прочитать и изменить заявку через API.
- Node.js: проверка данных и единые ошибки API
Отличить неверный ввод, отсутствие и внутренний сбой.
- Node.js: фильтрация и постраничный список
Получить ограниченную страницу в устойчивом порядке.
- Node.js: транзакция заявки и истории
Изменить статус и историю одной атомарной операцией.
- PostgreSQL для веб-приложений
32 урока соединяют модель каталога, SQL, ограничения и индексы с транзакциями, конкуренцией, JSONB, поиском, миграциями, ролями и сопровождением.
- Redis и BullMQ: фоновые задачи «Импортёра»
12 уроков о кеше, очереди CSV, повторе, идемпотентности и сопровождении.
- Redis: кеш каталога и источник данных
Прочитать вымышленный каталог через Redis-кеш.
- TTL в Redis: срок жизни кеша
Ограничить время хранения кешированной копии.
- Redis: инвалидация и поколение каталога
Менять ключ кеша вместе с версией основных данных.
- Rate limiting с Redis: атомарный лимит запросов
Ограничить постановку задач счётчиком с TTL.
- Постановка импорта в BullMQ
Задать контракт задачи и устойчивый jobId.
- BullMQ: воркер и обработка CSV
Отделить HTTP-ответ от добавления остатков товаров.
- BullMQ: повтор задачи и постоянная ошибка
Различать временный сбой и непригодные данные.
- BullMQ: идемпотентное изменение остатков
Записать остатки и отметку импорта одним Lua-скриптом.