Size: a a a

Архитектура ИТ-решений

2021 July 05

СХ

Саддам Хусейн... in Архитектура ИТ-решений
абстракция != ORM
источник

СХ

Саддам Хусейн... in Архитектура ИТ-решений
Более того, часто ORM не нужна и вообще вредна и и ее существование оправдывается только SQL-кретинизмом разработчиков)
источник

M

Michael in Архитектура ИТ-решений
Получается, абстракцию к бд надо самому писать?
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
CDC для переноса данных в очереди
Чтобы куда угодно нужен ETL или ELT
CDC - это элемент E а ETL/ELT
источник

СХ

Саддам Хусейн... in Архитектура ИТ-решений
ну почему, вовсе необязательно
источник

AL

Alexander Luchkov in Архитектура ИТ-решений
На живом проекте orm сильно усложняет сопровождение.

База - отдельный программный компонент, который нужно разрабатывать.

Orm , в моём понимании, можно и стоит использовать для макетирования и прототипирования.

Как только идём в прод - база должна быть взята на сопровождение специалистом. Иначе не понятно, кто отвечает за работоспособность БД. Ну точнее там ответственность на разработчике реализации ORM фреймворка. А это вне пределов влияния и соответственно в проде недопустимо.
источник

AL

Alexander Luchkov in Архитектура ИТ-решений
Ну и видеть в коде кривые селекты - это то ещё удовольствие. Базисты не зря в отдельную компетенцию вынесены.
источник

СХ

Саддам Хусейн... in Архитектура ИТ-решений
DBAL например можно без Doctrine ORM использовать
источник

M

Michael in Архитектура ИТ-решений
Спасибо. Я смотрел на модуль Доктрины для миграций
источник

M

Michael in Архитектура ИТ-решений
Так с ORM кривых запросов в коде нет - ORM сам их строит. Причем довольно хорошо, судя по последним статьям, которые попадались.
источник

AL

Alexander Luchkov in Архитектура ИТ-решений
Эмм... А можно пример хорошего запроса? Ну или статьи, которая попадалась.

Большинство реализаций которые я видел были на уровне: "вот я придумал айдишники объектов тут хранить и генерить в прикладном коде".
источник

AL

Alexander Luchkov in Архитектура ИТ-решений
И истории про "insert id, name, surname" эт прям классика.
источник

M

Michael in Архитектура ИТ-решений
Можно по-подробнее? Не попадалось как-то.
источник

M

Michael in Архитектура ИТ-решений
А какой запрос плохой? Если в  нагруженном приложении нет медленных запросов, то наверное ORM со своей задачей справляется.
источник

AL

Alexander Luchkov in Архитектура ИТ-решений
Плохой с точки зрения сопровождаемости тот, который лезет в абстракции хранения данных в прикладном куске.

Айдишники объектов лежащие в базе - это абстракция уровня хранения. Если проявляется в прикладном коде - это для меня плохой признак.

Плюс никто не в силах гарантировать консистентность связанных данных при работе через абстракции ORM.

Поскольку там в этом случае в прикладной код протекают транзакции изменения данных. А это вообще лютая дичь.
источник

AL

Alexander Luchkov in Архитектура ИТ-решений
Типовой пример плохого запроса - это "update surname, name where name like x".
источник

AM

Alexey Mergasov in Архитектура ИТ-решений
а какой в этом случае должен быть хороший?
источник

SB

Sergey Bezrukov in Архитектура ИТ-решений
В чём разница - породит такой запрос автор на SQL или на каком-нибудь HQL?
ORM сам по себе такой запрос не родит, по крайней мере те, что JPA-like (Hibernate и компания)
источник

AL

Alexander Luchkov in Архитектура ИТ-решений
Имхо там должен быть запрос вида:
select updatePersonData (<selector>, <data>).
источник

AL

Alexander Luchkov in Архитектура ИТ-решений
Если запрос порождает спец по SQL скорее всего не породит.
источник