Artwork

Вміст надано Кирилл Мокевнин. Весь вміст подкастів, включаючи епізоди, графіку та описи подкастів, завантажується та надається безпосередньо компанією Кирилл Мокевнин або його партнером по платформі подкастів. Якщо ви вважаєте, що хтось використовує ваш захищений авторським правом твір без вашого дозволу, ви можете виконати процедуру, описану тут https://uk.player.fm/legal.
Player FM - додаток Podcast
Переходьте в офлайн за допомогою програми Player FM !

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

1:51:31
 
Поширити
 

Manage episode 491701093 series 3585626
Вміст надано Кирилл Мокевнин. Весь вміст подкастів, включаючи епізоди, графіку та описи подкастів, завантажується та надається безпосередньо компанією Кирилл Мокевнин або його партнером по платформі подкастів. Якщо ви вважаєте, що хтось використовує ваш захищений авторським правом твір без вашого дозволу, ви можете виконати процедуру, описану тут https://uk.player.fm/legal.

В этом выпуске мы поговорили с Александром Вершиловым — разработчиком с 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 ★
  continue reading

67 епізодів

Artwork
iconПоширити
 
Manage episode 491701093 series 3585626
Вміст надано Кирилл Мокевнин. Весь вміст подкастів, включаючи епізоди, графіку та описи подкастів, завантажується та надається безпосередньо компанією Кирилл Мокевнин або його партнером по платформі подкастів. Якщо ви вважаєте, що хтось використовує ваш захищений авторським правом твір без вашого дозволу, ви можете виконати процедуру, описану тут https://uk.player.fm/legal.

В этом выпуске мы поговорили с Александром Вершиловым — разработчиком с 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 ★
  continue reading

67 епізодів

Усі епізоди

×
 
Loading …

Ласкаво просимо до Player FM!

Player FM сканує Інтернет для отримання високоякісних подкастів, щоб ви могли насолоджуватися ними зараз. Це найкращий додаток для подкастів, який працює на Android, iPhone і веб-сторінці. Реєстрація для синхронізації підписок між пристроями.

 

Короткий довідник

Слухайте це шоу, досліджуючи
Відтворити