её в каждом новом приложении)
Как раз наоборот, у вас логика реализована в доменной модели, а не в логике таблиц и строк, и все что вам нужно каждый раз при переезде - реализовать трансляцию этой доменной модели. Если у вас прибито хранимками, то придется переходить на уровень доменной модели, а затем проецировать на новую платформу, куда вы переезжаете.
> . Часто и на языке приложения — который зачастую неправильно работает с типами / операторами данной СУБД (как простейший пример, "весело" получается использовать numeric там, где это необходимо, но application language его не умеет).
Во всех популярных языках можно реализовать любой тип, скорее ограниченность конкретными типами это ограничение СУБД, а не приложения. Пример - CRDT это отличная вещь, но так мало СУБД их умеют что очень грустно :(
> . использование кода в приложении порождает еще более ужасные паттерны вроде логики размазанной между данными в таблицах, кодом хранимки и кодом приложения: такой код добавляет трудностей в реализации хороших практик по управлению качеством (чаще они не используются), и все это очень трудно рефакторить и тюнить из-за такого каплинга.
Как раз для general purpose языков программирования развиты все хорошие практики и инструменты: начиная от всяких стат анализов, заканчивая удобными фреймворками тестирования и уж совсем экзотикой вроде property testing; все практики придуманы, начинай использовать; а какой ваш любимый BDD фреймворк для SPL? :)
Так что нет
> Как раз наоборот, у вас логика реализована в доменной модели, а не в логике таблиц и строк, и все что вам нужно каждый раз при переезде - реализовать трансляцию этой доменной модели. А почему Вы думаете, что всем нужно куда-то переезжать? ;) Базы данных, которые мигрируют с одной версии той же СУБД на другую в течение лет 20 встречаются не так уж и редко, мне кажется... И ещё: если у Вас есть "естестсвенно" переносимая "доменная модель", то её конкретное выражение в конкретной СУБД почти наверняка очень убого — зачем Вам тогда вообще какие-либо реляционки (я к тому, что микроскопы не для того, чтобы гвозди забивать)?
Обсуждают сегодня