Приветствую, в этой статье мы кратко расскажем о сравнении ORM и драйверов баз данных и о том, какой из них лучше предпочесть в той или иной ситуации.
Плюсы и минусы ORM
Плюсы
- Схемы/энтитеты четко определены.
- Относительно просты для понимания и разработки
- Вы можете писать базовые запросы с помощью встроенных конструкторов запросов
- Вы не слишком утруждаете себя операциями с базой данных
Минусы
- Низкая производительность
- Так как это шаблон, наложенный поверх движка, это может ограничить некоторые продвинутые операции
- Дополнительные зависимости и возможный рост размера проекта (этот пункт может показаться тривиальным, но будет важен при использовании docker и т.д.)
Плюсы и минусы драйвера базы данных
Плюсы
- Высокая производительность
- Занимает минимум места
- Гарантия отсутствия проблем и полная документация, так как он был разработан компанией, занимающейся базами данных
Минусы
- Может потребоваться опыт работы с запросами и базами данных
- Схемы не имеют четкого определения или не влияют на базу данных.
Когда, что?
Если вы разрабатываете простую демонстрацию, разрабатываете блог, или если время и производительность (включая время сборки и производительность) не важны для вас, ваш выбор должен быть ORM.
Если время и производительность (включая время сборки и производительность) — это ваше дело, если вы эксперт по базам данных, ваш выбор должен быть Core Database Driver.
Вот статья, в которой измеряются различия между mongodb и mongoose, разница в производительности действительно велика.
Если вам лень, в конце статьи есть таблица, подобная этой.
ЧИТАТЬ | Нативный | Mongoose |
---|---|---|
Пропускная способность | 1200 #/сек | 583 #/сек |
Средний запрос | 0.83 мс | 1.71 мс |
ПИСЬМА | Родной | Mongoose |
---|---|---|
Пропускная способность | 1128 #/сек | 384 #/сек |
Средний запрос | 0.89 мс | 2.60 мс |
Что вы думаете по этому поводу?