ORM vs plain SQL, why not both?

ORM vs plain SQL, why not both?

Юрий Благовещенский (Домклик, Python Developer) @ MoscowPython Meetup 74

"Буду рассказывать о ложной дихотомии ORM и запросов в голом SQL. Расскажу, как Django с одной стороны и aiohttp+asyncpg с другой позволяли нам катиться как угорелые".

Слайды: http://www.moscowpython.ru/meetup/74/orm-vs-sql/

53b0434aded1fb944ec3037c382158c1?s=128

Moscow Python Meetup

June 25, 2020
Tweet

Transcript

  1. ORM vs plain SQL Why not both?

  2. None
  3. Реляционные базы данных

  4. None
  5. Object-Relational Mapping

  6. Проблемы • Неявный менеджмент состояния

  7. Проблемы • Неявный менеджмент состояния • Не масштабируется под более

    сложные требования
  8. Проблемы • Неявный менеджмент состояния • Не масштабируется под более

    сложные требования • N + 1
  9. Положение дел в индустрии

  10. Принцип Разделяй и властвуй единой ответственности Роли: •API •Admin interface

    •Event handlers
  11. None
  12. Предметная область

  13. verbose_name

  14. db_table

  15. Dict considered harmful

  16. Работа с данными • namedtuple

  17. Работа с данными • Namedtuple • Dataclass

  18. Работа с данными • Namedtuple • Dataclass • Pydantic

  19. Работа с данными • Namedtuple • Dataclass • Pydantic •

    FastAPI
  20. Миграции

  21. Используйте ORM • Библиотека уже наступила на все грабли

  22. Используйте ORM • Библиотека уже наступила на все грабли •

    Заставляет принимать важные решения
  23. Рекап рецептов • Описывайте предметную область upfront • db_table •

    Избегайте наследования в коде
  24. None
  25. Обо мне • Юрий Благовещенский IRL • @strmwalker on Twitter

    • @strmwalker on Telegram