|
|
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
2 iscrafm много ложится на средний слой. А вот логика - не всегда. Что-то как-то я этого не понимаю. Что это за логика такая, что не влезет в произвольный средний слой, но при этом влезет в совсем даже не произвольный слой СУБД (не произвольный - потому что чаще всего реляционный, а ежели не реляционный, то и еще более непроизвольный). 1. управление контентом системы 2. права доступа 3. управление данными (в смысле различные БД) Я совсем потерял ход Вашей мысли. Это Вы привели пример того, что ложится в средний слой (но не ложится в СУБД), или пример того, что ложится в СУБД (но не ложится в средний слой)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 14:12 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov barrabasМеньше действий с процедурами: 1. исправил / закомитил в svn/cvs/меркуриал 2. выполнил Получил в лоб "object in use", пошёл всех выгонять из базы. в оракле мне такого не разу не встречалось, про другие базы сказать ничего не могу, т.к. не работал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 14:39 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
ЛП2 iscrafm много ложится на средний слой. А вот логика - не всегда. Что-то как-то я этого не понимаю. Что это за логика такая, что не влезет в произвольный средний слой, но при этом влезет в совсем даже не произвольный слой СУБД (не произвольный - потому что чаще всего реляционный, а ежели не реляционный, то и еще более непроизвольный). 1. управление контентом системы 2. права доступа 3. управление данными (в смысле различные БД) Я совсем потерял ход Вашей мысли. Это Вы привели пример того, что ложится в средний слой (но не ложится в СУБД), или пример того, что ложится в СУБД (но не ложится в средний слой)? да хоть работа с разными базами которые о друг друге ничего знать не должны. потом всякие там генерации и отправки писем с отчетами (в базе не очень удобно генерить всякие ексели и пдф, а на С# легко), клиент назал сгенерить всем клиентам, и средний слой зашуршал, а данные в базе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 14:44 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
ЛП ======= 1. управление контентом системы 2. права доступа 3. управление данными (в смысле различные БД) ======= Я совсем потерял ход Вашей мысли. Это Вы привели пример того, что ложится в средний слой (но не ложится в СУБД), или пример того, что ложится в СУБД (но не ложится в средний слой)? это пример того, что лежит в среднем слое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 14:51 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
2 barrabas да хоть работа с разными базами которые о друг друге ничего знать не должны. Пожалейте мой мозг. Я задаю вопрос одному человеку, получаю ответ от другого. Причем вопрос "или - или", а ответ "да хоть бы и накуй". потом всякие там генерации и отправки писем с отчетами (в базе не очень удобно генерить всякие ексели и пдф, а на С# легко), клиент назал сгенерить всем клиентам, и средний слой зашуршал, а данные в базе. Серверы отчетов отменили??? Даже если отменили... Вот эта Ваша гипотетическая самописная отчетная система - Вы её к чему привели? Это по Вашему пример "среднего слоя без логики, а логика в СУБД" ? Хз, по мне так это самый что ни на есть пример двузвенной клиент-серверной системы, с логикой в СУБД и рисованием экселей и рассылкой писем на клинте. ------------------------------ 2 iscrafm это пример того, что лежит в среднем слое. Дык с таким я и не спорю. Я очень даже "за" - за то, что ежели уж средний слой образовался, то всякие управления правами и прочие радости надо делать именно там. Непонятки возникли по поводу предложения barrabas'а делать средний слой безнихуа, с одним лишь перенаправлением сиквеловских запросов и (непонятно зачем) кешированием. Насчет логики, не влезающий в средний слой, можете прокомментировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 14:58 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
ЛП Даже если отменили... Вот эта Ваша гипотетическая самописная отчетная система - Вы её к чему привели? Это по Вашему пример "среднего слоя без логики, а логика в СУБД" ? Хз, по мне так это самый что ни на есть пример двузвенной клиент-серверной системы, с логикой в СУБД и рисованием экселей и рассылкой писем на клинте. Нет. С клиента ушла только команда сделать и разослать, он начал дальше работать и ничего генерить не будет. К средний слой начал дергать процедуры сервера для получения данных, сгенерил отчеты, отправил, ну и лог отправил кому надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 15:10 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
ЛП Дык с таким я и не спорю. Я очень даже "за" - за то, что ежели уж средний слой образовался, то всякие управления правами и прочие радости надо делать именно там. Непонятки возникли по поводу предложения barrabas'а делать средний слой безнихуа, с одним лишь перенаправлением сиквеловских запросов и (непонятно зачем) кешированием. Почему прям без ничего, с логикой но со своей, логика обработки данных в базе, такие команды слой просто передает. Если нужно засветить ИС через внешку, например, я бы заюзал WCF, а не светил базу в инете, это уже средний слой. А почему бы и не сделать кэширование отдельно, зачем базу напрягать когда можно этого не делать, вариантов много, это один из вариантов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 15:19 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
barrabasЛП Даже если отменили... Вот эта Ваша гипотетическая самописная отчетная система - Вы её к чему привели? Это по Вашему пример "среднего слоя без логики, а логика в СУБД" ? Хз, по мне так это самый что ни на есть пример двузвенной клиент-серверной системы, с логикой в СУБД и рисованием экселей и рассылкой писем на клинте. Нет. С клиента ушла только команда сделать и разослать, он начал дальше работать и ничего генерить не будет. К средний слой начал дергать процедуры сервера для получения данных, сгенерил отчеты, отправил, ну и лог отправил кому надо. Нет. Этот Ваш "средний" (отчетный) слой - не есть средний слой в классической многозвенной архитектуре. Он не форсирует дальнейшую работу "через себя". Это самый что ни на есть клиент для СУБД, живущий своей жизнью, не мешающий жить другим клиентам с подобной, но иначе реализованной функциональностью, и не мещающий жить другим клиентам со сколь угодно другой фунциональностью. То, что он куда-то что-то рассылает по запросу кого-то третьего, который в это время занят чем-то четвёртым - это вообще дело десятое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 15:23 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
ЛП Насчет логики, не влезающий в средний слой, можете прокомментировать? комментировать особо нечего. Я просто высказал собственное мнение, что логика обработки данных лучше смотрится в СУБД. Чисто имхо. это не означает, что ее нельзя вынести в средний слой. просто я, лично, такое не проповедую. Мне пользоваться простыми SQL предложениями гораздо комфортней и более предсказуемо, чем городить нечто с ORM и обработкой данных на Java,Delphi и т.п. Хотя тоже не отношусь к этому категорично. если быстрее и надежней будет так, как показано ниже, то почему нет. Всему свое место Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 15:25 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
barrabasПочему прям без ничего Почему? По Вашим словам. Если нужно засветить ИС через внешку Этак договоримся до того, что связку MS SQL Server + MS ISA Server будем считать примером многозвенного приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 15:25 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
barrabas Нужны еще как. Помимо производительности еще и облегчение администрирования, все права даются на хранимки, а напрямую с таблицами клиент работать не должен. Да и изменение логики проходит проще - без сборки новой версии клиента, а просто заменой логики хранимки на сервере. Это ты опять про двузвенки говоришь, где причины появления хранимок вполне понятны (как эмуляция application layer). А вот в трехзвенках ничего из этого уже не нужно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 15:27 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov barrabasМеньше действий с процедурами: 1. исправил / закомитил в svn/cvs/меркуриал 2. выполнил Получил в лоб "object in use", пошёл всех выгонять из базы. Это где такое? В смысле, какая СУБД выдает такие штуки при рекомпиляции ХП? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 15:37 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
ЛПbarrabasПочему прям без ничего Почему? По Вашим словам. Если нужно засветить ИС через внешку Этак договоримся до того, что связку MS SQL Server + MS ISA Server будем считать примером многозвенного приложения. так собственно чем WCF не средний слой, в нем можно как раз кучу логики не относящейся к БД реализовать 2 DPH3 с правами БД конечно я загнул, но пересобирать и выпускать в продакшен средний слой сложнее, нежели просто заменить процедуру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 15:40 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
baracsDimitry Sibiryakov barrabasМеньше действий с процедурами: 1. исправил / закомитил в svn/cvs/меркуриал 2. выполнил Получил в лоб "object in use", пошёл всех выгонять из базы. Это где такое? В смысле, какая СУБД выдает такие штуки при рекомпиляции ХП? FireBird ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 15:41 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
2 iscrafm если быстрее и надежней будет так, как показано ниже Не надо аргументировать примерами экстремального говнокода Мысль понятна, в общем. Против возможности (и зачастую целесообразности) реализации логики в БД я не возражаю. Но тогда вынос управления правами в средний слой выглядит странно, а аргументы типа "различные СУБД" так и вообще выглядят невозможно. ИМХО, если (по каким-либо причинам логика зашита в БД, то надо иметь в БД по возможности всё остальное (всякое там управление правами). Если же логика в среднем слое, то и управление правами итд итп там же должно лежать. И надобности в хранимках в этом случае как бы и нету вообще (с чего обсуждение и началось). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 15:41 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
2 barrabas так собственно чем WCF не средний слой, в нем можно как раз кучу логики не относящейся к БД реализовать По Вашему "средний слой" - это "где можно кучу всякой логики реализовать"? Я и на клиенте могу навалить реализовть кучу всякой логики, но средним слоем он от этого не станет. Даже не сомневайтесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 15:44 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
ЛП2 iscrafm если быстрее и надежней будет так, как показано ниже Не надо аргументировать примерами... а что в нем написано? :) ЛПНо тогда вынос управления правами в средний слой выглядит странно, а аргументы типа "различные СУБД" так и вообще выглядят невозможно. Вы просто наверное не встречались с таким. Когда в комплекс завязаны много компаний с различными системами и СУБД, то выглядит это очень даже "возможно" ЛПИМХО, если (по каким-либо причинам логика зашита в БД, то надо иметь в БД по возможности всё остальное (всякое там управление правами). Если же логика в среднем слое, то и управление правами итд итп там же должно лежать. И надобности в хранимках в этом случае как бы и нету вообще (с чего обсуждение и началось). в примитивных случаях конечно. Ничего кроме СУБД не нужно в принципе. Я говорю о больших системах. Кстати, в какой из СУБД будете держать управление доступом если их несколько. Ну и конечно же, в трехзвенках клиент не работает с СУБД. Для СУБД 500 пользователей системы - это один Сервер приложений ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 15:51 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
iscrafmbaracsDimitry Sibiryakov Получил в лоб "object in use", пошёл всех выгонять из базы. Это где такое? В смысле, какая СУБД выдает такие штуки при рекомпиляции ХП? FireBirdНет такого в FireBird. Но менять метаданные на ходу действительно весьма не рекомендуется. Ещё с момента начальной реализации PSQL Borland'ом. Ничего, когда-нибудь и это исправим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 15:52 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
hvladiscrafmbaracsDimitry Sibiryakov Получил в лоб "object in use", пошёл всех выгонять из базы. Это где такое? В смысле, какая СУБД выдает такие штуки при рекомпиляции ХП? FireBirdНет такого в FireBird. ну значит у меня под этим именем MySQL скрывается. Вот же замаскировался жук. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 15:55 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
2 iscrafm а что в нем написано? :) Я в сортах овна не разбираюсь :) Кстати, в какой из СУБД будете держать управление доступом если их несколько. Именно в среднем слое буду держать управление доступом. Потому что СУБД несколько. Проще сопровождать одну систему раздачи прав, чем несколько. И по этой же самой причине буду стараться держать логику с том же самом (а может и немножко другом) среднем слое - потому что сопровождать одну кучку бизнес-логики гораздо проще, чем многие множества куч, тем более размазанных по каким-то там хранимкам. Есть трехзвенка - на фиг бы мне сдались хранимые процедуры. (исключая вопросы производительности, из за которых конечно же может понадобиться заниматься размазыванием). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 15:59 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
ЛП2 barrabas так собственно чем WCF не средний слой, в нем можно как раз кучу логики не относящейся к БД реализовать По Вашему "средний слой" - это "где можно кучу всякой логики реализовать"? Я и на клиенте могу навалить реализовть кучу всякой логики, но средним слоем он от этого не станет. Даже не сомневайтесь. а по теме, чем WCF-сервер не средний слой между базой и клиентом, та же программа в виде сервиса или приложения, слушает порт, принимает команды с клиента, выдает ему результат. У нас 4ре разные ИС, а баз разных и того больше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 16:00 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
это вопрос как я понял "религиозный" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 16:05 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
barrabasУ нас 4ре разные ИС, а баз разных и того больше И бизнес-логика, как я понимаю, у Вас размазана по четырем разным ИС и еще большему количеству баз, где она лежит в миллионе разнообразных хранимок. С чем Вас и поздравляю. Увольте там кого-нибудь. Наймите другого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 16:06 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
ЛПЕсть трехзвенка - на фиг бы мне сдались хранимые процедуры. (исключая вопросы производительности, из за которых конечно же может понадобиться заниматься размазыванием). "нафиг бы"? Речь о чем-то конкретном или просто о барышнях рассуждаем которых пощупать нет возможности? А то назвали что-то нехорошим словом, а потом сказали, что даже не понимаете что там написано. Скучно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 16:08 |
|
||
|
использование хранимых процедур
|
|||
|---|---|---|---|
|
#18+
ЛПbarrabasУ нас 4ре разные ИС, а баз разных и того больше И бизнес-логика, как я понимаю, у Вас размазана по четырем разным ИС и еще большему количеству баз, где она лежит в миллионе разнообразных хранимок. С чем Вас и поздравляю. Увольте там кого-нибудь. Наймите другого. да нет, просто только одна наша, а другие купленные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 16:08 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=36279709&tid=1552871]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 375ms |

| 0 / 0 |
