PostgreSQL для разработчиков приложений
Что нужно знать разработчику приложений о базах данных вообще и PostgreSQL в частности? Может быть достаточно основ SQL? А может во всём положиться на ORM?
Несмотря на кажущуюся простоту работы с базами данных, для качественной реализации приложений необходимы знания по самому широкому кругу тем:
- Нормализация и денормализация данных
- Типы данных и ограничения целостности
- Хранимые процедуры и триггеры
- Аналитические функции и CTE
- Транзакции и уровни изоляции
- Материализованные представления и секционирование
- Типы индексов и как их использовать
- Методы доступа к таблицам и способы их соединения
- Сбор статистики и планы выполнения запросов
А нужны ли разработчикам знания об основах администрирования и архитектуре СУБД в целом? Нужно ли понимать что и для чего делает VACUUM?
Доклад в первую очередь адресован разработчикам и архитекторам приложений, но также будет интересен администраторам баз данных и всем “сочуствующим”.