ORM против основного драйвера базы данных

Приветствую, в этой статье мы кратко расскажем о сравнении ORM и драйверов баз данных и о том, какой из них лучше предпочесть в той или иной ситуации.

Плюсы и минусы ORM

Плюсы

  • Схемы/энтитеты четко определены.
  • Относительно просты для понимания и разработки
  • Вы можете писать базовые запросы с помощью встроенных конструкторов запросов
  • Вы не слишком утруждаете себя операциями с базой данных

Минусы

  • Низкая производительность
  • Так как это шаблон, наложенный поверх движка, это может ограничить некоторые продвинутые операции
  • Дополнительные зависимости и возможный рост размера проекта (этот пункт может показаться тривиальным, но будет важен при использовании docker и т.д.)

Плюсы и минусы драйвера базы данных

Плюсы

  • Высокая производительность
  • Занимает минимум места
  • Гарантия отсутствия проблем и полная документация, так как он был разработан компанией, занимающейся базами данных

Минусы

  • Может потребоваться опыт работы с запросами и базами данных
  • Схемы не имеют четкого определения или не влияют на базу данных.

Когда, что?

Если вы разрабатываете простую демонстрацию, разрабатываете блог, или если время и производительность (включая время сборки и производительность) не важны для вас, ваш выбор должен быть ORM.

Если время и производительность (включая время сборки и производительность) — это ваше дело, если вы эксперт по базам данных, ваш выбор должен быть Core Database Driver.

Вот статья, в которой измеряются различия между mongodb и mongoose, разница в производительности действительно велика.

Если вам лень, в конце статьи есть таблица, подобная этой.

ЧИТАТЬ Нативный Mongoose
Пропускная способность 1200 #/сек 583 #/сек
Средний запрос 0.83 мс 1.71 мс
ПИСЬМА Родной Mongoose
Пропускная способность 1128 #/сек 384 #/сек
Средний запрос 0.89 мс 2.60 мс

Что вы думаете по этому поводу?

Оцените статью
devanswers.ru
Добавить комментарий