Складчина: Стрим про реляционные базы данных [deworker.pro] [Дмитрий Елисеев]
В предыдущем большом стриме мы рассмотрели тему безопасности инфраструктуры и программного кода, включая тему безопасной записи и отображения данных из БД. А ещё раньше рассматривали ускорение работы web-приложений.
Во всех наших проектах мы используем базы данных. Как в монолитах, так и в примерах с модулями и микросервисами. И многим из нас в рабочих проектах порой приходится сочинять сложные SQL-запросы для разных выборок. И для решения таких задач желательно уметь использовать SQL в полную силу.
Но помимо ускорения программного кода самого приложения, большой вклад в производительность вносит скорость работы самой БД и оптимальность наших запросов к ней. А разработчики порой уделяют этому мало внимания. Либо это для их проекта сейчас неактуально, либо они просто не умеют этого делать.
Поэтому нам будет полезно разобраться с базами данных подробнее, чтобы начать работать с ними осознанно, а не наугад.
Так что пришло время провести большой всеобъемлющий практический стрим про реляционные базы данных, где рассмотреть разные темы на примерах работы с СУБД вроде PostgreSQL и MariaDB.
На стриме займёмся важной теорией и практикой. Определимся с терминами и понятиями из теории баз данных.
Исследуем паттерны и антипаттерны хранения разных данных.
Рассмотрим примеры построения и рефакторинга сложных запросов для повседневной работы и для сложной аналитики.
Обсудим нормализацию и денормализацию. Рассмотрим все нормальные формы и подберём оптимальные варианты раскладывания данных из разных практических предметных областей.
Исследуем домены и подберём оптимальные типы для хранения разных данных.
Разберёмся с разными типами индексов и с индекисрованием примитивных данных для выборок, векторных индексов и индексирование сложных JSON-структур.
Разберём важность или избыточность ограничений в БД в разных жизненных ситуациях.
Рассмотрим транзакции для атомарности записи и разные типы изоляции и блокировок для конкурентной работы.
Разберём работу с логами и с командой EXPLAIN для поиска медленных мест.
Рассмотрим подходы к оптимизации запросов нативно и при работе с ORM из разных фреймворков.
Рассмотрим способы написания последовательных миграций БД и программного кода для бесшовного деплоя приложений.
Рассмотрим масштабирование баз данных и реализуем в своём кластере разные типы репликации и шардирования.
Это и многие смежные вопросы по осознанной работе с реляционными базами данных как раз подробно рассмотрим на стриме.
Эта тематика актуальна всегда и про это всегда спрашивают на собеседованиях, так что лучше не откладывать это на потом. Так что до встречи с участниками в эфире и в записи!
Скрытая ссылка