Здравствуйте, MTD, Вы писали:
V>>Ты имеешь ввиду ситуацию, когда SQL вообще представляется сущностю третьего рода, от бишь вовсе чужеродной хренью в программе, типа склеиваемых вручную строк? )) MTD>Хренью тоже может быть — это уж как напишешь (пишут, ксати не только в программе, гугли хранимые процедуры).
С какой целью гуглить хранимые процедуры?
И как это избавляет от строкового "{? = call proc_name(42, 43)}" или от "exec @ret=proc_name @param1=42, @param2=43"?
Даже если ты используешь некий "высокоуровневый объект" для вызова удалённых хранимок, это ничем не отличается от хелпера для формирования указанной строки.
MTD>Но всякие ORM помимо проблем с производительностью
Вот! Верно.
Потому что сущность второго рода.
Оптимизация компилятору недоступна, часто "компиляция" выполняется в рантайм.
Т.е. маппер генерируется по-месту, прежде чем начать что-то маппить.
А простые ORM, типа LinQ, и вовсе работают в режиме интерпретатора метаинформации для каждого поля каждой строчки, например, огромного рекордсета.
MTD>которые не решаются ни кешем первого, ни кешем n-ного уровня неправильны в принципе.
Это уже вопросы прикладного плана.
Где-то кеши уместны, где-то нет.
Но в базе должен быть эффективный и безопасный (в плане типов) инструмент.
А такого нет.
Т.е. вот отправляется запрос на сервер и уже оба ендпоинта должны заранее знать тип возвращаемого результата, а не гнать каждый раз метаинформацию и интерпретировать её на каждой из сторон.
MTD>Так как гвоздями прибивается часть бизнес-логики в виде сущностей к полям в таблицах.
Это тоже как раз нормально.
Данные есть данные.
Тут идёт разговор об удобном и эффективном оперировании данными.
MTD>Почему это неправильно? Потому, что бизнес-логика изменчива и может меняться, а данные в базе — это данность, если Вася заплатил в 2010 году 100 рублей Пете, то это уже произошло и не изменится.
Сам с собой споришь. ))
Так это "неправильно" или такова природа вещей?
Меня может тоже бесит, что котангес 𝜋 никак не может определиться — он плюс бесконечность или, всё-таки, минус бесконечность.
Но я ж смирился и живу с этим как-то...