Re[3]: Бизнес логика в ХП
От: wildwind Россия  
Дата: 27.06.16 08:02
Оценка: 3 (1)
Здравствуйте, IT, Вы писали:

IT>Я бы сказал так. Увидели хранимку — отбейте железной ленейкой руки тому, кто это сделал. Не существует ни одного реального аргумента, почему ХП должны ещё жить. И уж точно масштабируемость тут ни при чём.


Странно слышать столь категоричные утверждения от человека с большим опытом. Хранимки это API к базе, один из видов. А их придумано немало, помимо голого SQL: view с триггерами, MDX, REST HTTP, HandlerSocket и т.д.; и завтра придумают еще. У каждого своя ниша и свои особенности. Для меня "хранимки не должны жить" звучит столь же абсурдно, как "не используйте TCP/IP, только raw sockets".

Ты имел дело с базами, используемыми несколькими приложениями, да еше написанными на разных языках? Наверняка имел. Там не было ни одной хранимки?

А масштабируемость вот при чем. В процессе масштабирования обязательно наступает период, когда нужно выжать из СУБД максимум, чтобы оттянуть апгрейд железа. Начинается поиск вещей, которые эффективнее выполнить внутри базы, чем гонять данные по сети и растягивать транзакции. И ради эффективности приходится жертвовать читаемостью, сопровождаемостью и еще чем-то из чеклиста "идеальный проект". А хранимки позволяют это смягчить. Если их не использовать, то получишь те же "хранимки", но обфусцированные, хранящиеся в коде и создаваемые каждый раз на время выполнения. Что еще хуже.

Кроме того, хранимки могут содержать не только бизнес логику. Более того, от некоторых бизнес-приложению ни жарко, ни холодно. Как то:
Их как, тоже нельзя?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.