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

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

Update: 2025-06-30
Share

Description

В этом выпуске мы поговорили с Александром Вершиловым — разработчиком с 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 ★
Comments 
In Channel
loading
00:00
00:00
x

0.5x

0.8x

1.0x

1.25x

1.5x

2.0x

3.0x

Sleep Timer

Off

End of Episode

5 Minutes

10 Minutes

15 Minutes

30 Minutes

45 Minutes

60 Minutes

120 Minutes

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

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

Кирилл Мокевнин