Table of Contents

Постановка задачи

На текущий момент существует три подхода работы с данными:

  1. Ручное написание SQL кода и ручное преобразование данных
  2. Ручное написание SQL кода и автоматическое преобразование данных
  3. Автоматическая генерация SQL кода и автоматическое преобразование данных

Разберем достоинства и недостатки каждого подхода.

Подход Достоинства Недостатки Применимость
1. Ручное написание SQL кода и ручное преобразование данных
  • Производительность
  • Быстрый старт
  • Отсутствие ограничений на выражения SQL
  • Полный контроль над преобразованием типов
  • Сложность
  • Много шаблонного (boilerplate) кода
  • Необходимость изучения SQL на продвинутом уровне
  • Менее безопасный код
Узкоспециализированное небольшое приложение с упором на производительность
2. Ручное написание кода и автоматическое преобразование данных
  • Большая производительность, по сравнению с автогенерацией SQL
  • Необходимость изучения SQL на продвинутом уровне
  • Менее безопасный код
  • Производительность хуже по сравнению с ручным преобразованием данных
Приложение средней сложности и объема, выполняющиеся в среде с ограниченными ресурсами (типичный микросервис)
3. Автоматическая генерация SQL кода и автоматическое преобразование данных
  • Простота
  • Отсутствие необходимости писать и поддерживать SQL код
  • Повышенное потребление памяти
  • Худшая производительность
Большое корпоративное приложение, с повышенными нефункциональными требованиями

Библиотека Nextorm сочетает в себе второй и третий подход, при котором:

  • Нет необходимости писать SQL код
  • Нет необходимости писать шаблонный код (boilerplate) преобразования данных
  • Производительность сравнима с первым подходом (в случае компиляции запросов)