Организованное программирование

#51 ORM vs SQL — Дебаты: что побеждает в реальных проектах? Александр Вершилов


Listen Later

В этом выпуске мы поговорили с Александром Вершиловым — разработчиком с 15-летним опытом и руководителем отдела разработки в Сириус.Курсах. Мы устроили дебаты про ORM. Обсудили чем ORM отличается от query-builder’а, разобрали типичные проблемы N+1 и ленивых связей, сравнили подходы Code-First и Data-First к миграциям, а также поделились приёмами, как обойтись без ORM и не потерять производительность.

Вы узнаете, когда строгая типизация (на примере Haskell) спасает проект, какие настройки ORM могут «положить» продакшен и какие практики позволяют держать базу под контролем.  А так же решите для себя, брать ли ORM в следующий проект или сразу писать SQL.

  • (00:00) - Введение. Почему мы всё ещё спорим про ORM?
  • (02:18) - Что такое ORM на пальцах — быстро, чётко, по делу
  • (04:32) - PHP и ORM: от древности до Laravel
  • (07:01) - ORM глазами хаскелиста — определение через опыт
  • (08:51) - Как типизация усложняет или упрощает маппинг
  • (10:35) - Связи решают всё: зачем они важны в любой базе
  • (13:45) - Фильтрация и динамика: где builder выигрывает у SQL
  • (17:51) - Тестируем SQL: что делать с ошибками на проде
  • (22:30) - Почему auto-инструментация — это роскошь не для всех
  • (25:43) - Query builder — обязательный минимум для любого проекта?
  • (29:23) - Когда ORM спасает время (и нервы)
  • (34:08) - Сериализация "на автомате" — магия или хорошая инженерия?
  • (36:51) - Промышленный стандарт = спокойствие в команде
  • (39:39) - Магия рефлексии: когда модель = пустой класс
  • (41:31) - Код first: почему он иногда опаснее, чем кажется
  • (43:36) - Zero downtime и миграции: возможно ли идеальное развертывание?
  • (49:36) - Как PHP прошёл путь к миграциям: взгляд в прошлое
  • (54:08) - Когда SQL тормозит: ищем виновника
  • (57:45) - Запросы: главная претензия к ORM
  • (01:05:03) - Как распознать N+1 запрос и не страдать
  • (01:08:13) - Пример Elixir: ORM без боли и магии
  • (01:12:44) - Где заканчивается SQL и начинается здравый смысл
  • (01:19:14) - Как удалять данные и при этом не терять их
  • (01:22:25) - ORM и бизнес-логика: когда класс — не просто класс
  • (01:28:50) - Декларативность vs. контроль: можно ли совместить?
  • (01:32:26) - Генерация объектов: действительно ли тормозит?
  • (01:36:22) - Оптимистичная блокировка спасает не только от конфликтов
  • (01:41:14) - Транзакции, блокировки и реалии продакшена
  • (01:44:58) - Нерешаемая проблема мутабельности
  • (01:48:27) - Когда "умная" ORM становится врагом архитектуры
  • (01:51:01) - Заключение. Как жить с ORM и не страдать?
  • ★ Support this podcast ★
    ...more
    View all episodesView all episodes
    Download on the App Store

    Организованное программированиеBy Кирилл Мокевнин

    • 5
    • 5
    • 5
    • 5
    • 5

    5

    3 ratings


    More shows like Организованное программирование

    View all
    Отвратительные мужики by Disgusting Men

    Отвратительные мужики

    77 Listeners

    Не занесли by Максим Иванов, Павел Пивоваров, Артемий Леонов

    Не занесли

    58 Listeners

    Завтракаст (Zavtracast) by Завтракаст (Zavtracast)

    Завтракаст (Zavtracast)

    121 Listeners

    Радио Медуза by Медуза / Meduza

    Радио Медуза

    96 Listeners

    kuji podcast by kuji podcast

    kuji podcast

    131 Listeners

    Закат империи by libo/libo

    Закат империи

    194 Listeners

    Крупным планом by Кинопоиск

    Крупным планом

    39 Listeners

    Подкаст Глеба Соломина by Глеб Соломин

    Подкаст Глеба Соломина

    3 Listeners

    Экономика на слух by РЭШ

    Экономика на слух

    10 Listeners

    План Б by Т—Ж

    План Б

    17 Listeners

    На пенсию в 35 лет! by Babaykin

    На пенсию в 35 лет!

    12 Listeners

    Ты – это важно by Елена Мицкевич

    Ты – это важно

    33 Listeners

    Прием by Т—Ж

    Прием

    6 Listeners

    Горящий бензовоз by Вадим Елистратов, Иван Талачев

    Горящий бензовоз

    31 Listeners

    Схема by Т—Ж

    Схема

    2 Listeners