Здравствуйте, Sinclair, Вы писали:
S>Между "не стоит заниматься преждевременно" и "это же ужас-ужас" лежит целая пропасть.
Какая пропасть? Логика в базе это именно "ужас-ужас", которым стоит заниматься только в случае крайней необходимости. Базе -- данные, приложению -- логику!!!))
S>Есть много нюансов при взаимодействии СУБД и сервера приложений, от которых зависит правильный баланс. S>На одном конце спектра мы имеем client-side joins и projections с предикатами отбора, на другом — адский код внутри СУБД. S>Есть соображения производительности решения, при которых минимизация объема данных, перекачиваемых между слоями, играет принципиальную роль, и есть соображения производительности разработчиков и службы эксплуатации. S>Для которых принципиальную роль играет синхронизация версий между логикой в приложении и в СУБД.
S>И есть много разных способов эти нюансы учитывать — от написания сложной логики на T-SQL/PL-SQL и до импорта Java/.Net кода в СУБД, или кросс-компиляции управляемого кода в SQL. Где-то в промежутке сидит linq, который позволяет писать логику на шарпе, а исполнять в СУБД.
Конечно, нужен баланс. Но в любом случае на сервере приложений больше простора для написания логики, начиная от выразительности языка, заканчивая набором библиотек.