powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / использование хранимых процедур
25 сообщений из 343, страница 3 из 14
использование хранимых процедур
    #36279709
ЛП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 iscrafm
много ложится на средний слой. А вот логика - не всегда.
Что-то как-то я этого не понимаю. Что это за логика такая, что не влезет в произвольный средний слой, но при этом влезет в совсем даже не произвольный слой СУБД (не произвольный - потому что чаще всего реляционный, а ежели не реляционный, то и еще более непроизвольный).

1. управление контентом системы
2. права доступа
3. управление данными (в смысле различные БД)
Я совсем потерял ход Вашей мысли.
Это Вы привели пример того, что ложится в средний слой (но не ложится в СУБД), или пример того, что ложится в СУБД (но не ложится в средний слой)?
...
Рейтинг: 0 / 0
использование хранимых процедур
    #36279840
Фотография barrabas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
barrabasМеньше действий
с процедурами:
1. исправил / закомитил в svn/cvs/меркуриал
2. выполнил

Получил в лоб "object in use", пошёл всех выгонять из базы.

в оракле мне такого не разу не встречалось, про другие базы сказать ничего не могу, т.к. не работал
...
Рейтинг: 0 / 0
использование хранимых процедур
    #36279855
Фотография barrabas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛП2 iscrafm
много ложится на средний слой. А вот логика - не всегда.
Что-то как-то я этого не понимаю. Что это за логика такая, что не влезет в произвольный средний слой, но при этом влезет в совсем даже не произвольный слой СУБД (не произвольный - потому что чаще всего реляционный, а ежели не реляционный, то и еще более непроизвольный).

1. управление контентом системы
2. права доступа
3. управление данными (в смысле различные БД)
Я совсем потерял ход Вашей мысли.
Это Вы привели пример того, что ложится в средний слой (но не ложится в СУБД), или пример того, что ложится в СУБД (но не ложится в средний слой)?
да хоть работа с разными базами которые о друг друге ничего знать не должны.
потом всякие там генерации и отправки писем с отчетами (в базе не очень удобно генерить всякие ексели и пдф, а на С# легко), клиент назал сгенерить всем клиентам, и средний слой зашуршал, а данные в базе.
...
Рейтинг: 0 / 0
использование хранимых процедур
    #36279890
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛП
=======
1. управление контентом системы
2. права доступа
3. управление данными (в смысле различные БД)

=======

Я совсем потерял ход Вашей мысли.
Это Вы привели пример того, что ложится в средний слой (но не ложится в СУБД), или пример того, что ложится в СУБД (но не ложится в средний слой)?
это пример того, что лежит в среднем слое.
...
Рейтинг: 0 / 0
использование хранимых процедур
    #36279918
ЛП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 barrabas
да хоть работа с разными базами которые о друг друге ничего знать не должны.
Пожалейте мой мозг.
Я задаю вопрос одному человеку, получаю ответ от другого.
Причем вопрос "или - или", а ответ "да хоть бы и накуй".

потом всякие там генерации и отправки писем с отчетами (в базе не очень удобно генерить всякие ексели и пдф, а на С# легко), клиент назал сгенерить всем клиентам, и средний слой зашуршал, а данные в базе.
Серверы отчетов отменили???
Даже если отменили... Вот эта Ваша гипотетическая самописная отчетная система - Вы её к чему привели? Это по Вашему пример "среднего слоя без логики, а логика в СУБД" ? Хз, по мне так это самый что ни на есть пример двузвенной клиент-серверной системы, с логикой в СУБД и рисованием экселей и рассылкой писем на клинте.

------------------------------

2 iscrafm
это пример того, что лежит в среднем слое.
Дык с таким я и не спорю. Я очень даже "за" - за то, что ежели уж средний слой образовался, то всякие управления правами и прочие радости надо делать именно там. Непонятки возникли по поводу предложения barrabas'а делать средний слой безнихуа, с одним лишь перенаправлением сиквеловских запросов и (непонятно зачем) кешированием.

Насчет логики, не влезающий в средний слой, можете прокомментировать?
...
Рейтинг: 0 / 0
использование хранимых процедур
    #36279974
Фотография barrabas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛП

Даже если отменили... Вот эта Ваша гипотетическая самописная отчетная система - Вы её к чему привели? Это по Вашему пример "среднего слоя без логики, а логика в СУБД" ? Хз, по мне так это самый что ни на есть пример двузвенной клиент-серверной системы, с логикой в СУБД и рисованием экселей и рассылкой писем на клинте.


Нет.
С клиента ушла только команда сделать и разослать, он начал дальше работать и ничего генерить не будет. К средний слой начал дергать процедуры сервера для получения данных, сгенерил отчеты, отправил, ну и лог отправил кому надо.
...
Рейтинг: 0 / 0
использование хранимых процедур
    #36280012
Фотография barrabas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛП
Дык с таким я и не спорю. Я очень даже "за" - за то, что ежели уж средний слой образовался, то всякие управления правами и прочие радости надо делать именно там. Непонятки возникли по поводу предложения barrabas'а делать средний слой безнихуа, с одним лишь перенаправлением сиквеловских запросов и (непонятно зачем) кешированием.

Почему прям без ничего, с логикой но со своей, логика обработки данных в базе, такие команды слой просто передает.
Если нужно засветить ИС через внешку, например, я бы заюзал WCF, а не светил базу в инете, это уже средний слой.
А почему бы и не сделать кэширование отдельно, зачем базу напрягать когда можно этого не делать, вариантов много, это один из вариантов.
...
Рейтинг: 0 / 0
использование хранимых процедур
    #36280030
ЛП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
barrabasЛП

Даже если отменили... Вот эта Ваша гипотетическая самописная отчетная система - Вы её к чему привели? Это по Вашему пример "среднего слоя без логики, а логика в СУБД" ? Хз, по мне так это самый что ни на есть пример двузвенной клиент-серверной системы, с логикой в СУБД и рисованием экселей и рассылкой писем на клинте.


Нет.
С клиента ушла только команда сделать и разослать, он начал дальше работать и ничего генерить не будет. К средний слой начал дергать процедуры сервера для получения данных, сгенерил отчеты, отправил, ну и лог отправил кому надо.
Нет. Этот Ваш "средний" (отчетный) слой - не есть средний слой в классической многозвенной архитектуре. Он не форсирует дальнейшую работу "через себя". Это самый что ни на есть клиент для СУБД, живущий своей жизнью, не мешающий жить другим клиентам с подобной, но иначе реализованной функциональностью, и не мещающий жить другим клиентам со сколь угодно другой фунциональностью. То, что он куда-то что-то рассылает по запросу кого-то третьего, который в это время занят чем-то четвёртым - это вообще дело десятое.
...
Рейтинг: 0 / 0
использование хранимых процедур
    #36280036
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛП
Насчет логики, не влезающий в средний слой, можете прокомментировать?
комментировать особо нечего. Я просто высказал собственное мнение, что логика обработки данных лучше смотрится в СУБД. Чисто имхо. это не означает, что ее нельзя вынести в средний слой. просто я, лично, такое не проповедую. Мне пользоваться простыми 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.
#!e:/perl/bin/perl -w

$inputfile = "DUMMY";
$inputfile =~ m![^/\\]+$!;
$outputfile = $`."out.log";

    if( -f $inputfile ){
        open( LOGFILE, "<". $inputfile) or die (" $!");
    }

    #die ($vcl->ShowMessage(" $!")) unless( $outputfile );
    open( OUT, ">". $outputfile) or die (" $!");
    
    while(<LOGFILE>)
    {
        #ИНН  7718505679 
       s/(Плательщик1=|Получатель1=)\s*ИНН\s+\d+\s+(.+)$/$ 1 $ 2 /;
       s/^(Дата[^=]*|СрокПлатежа)= 00 \. 00 \. 0000 /$ 1 = 01 . 01 . 1976 /;
       s/\./,/g if (/Сумма|Всего|Остаток/ and /\d\.\d/);

      print OUT $_;
    }   
 
    close LOGFILE;
    close OUT;
    rename($outputfile,$inputfile);
...
Рейтинг: 0 / 0
использование хранимых процедур
    #36280037
ЛП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
barrabasПочему прям без ничего
Почему? По Вашим словам.

Если нужно засветить ИС через внешку
Этак договоримся до того, что связку MS SQL Server + MS ISA Server будем считать примером многозвенного приложения.
...
Рейтинг: 0 / 0
использование хранимых процедур
    #36280043
DPH3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
barrabas
Нужны еще как.
Помимо производительности еще и облегчение администрирования, все права даются на хранимки, а напрямую с таблицами клиент работать не должен. Да и изменение логики проходит проще - без сборки новой версии клиента, а просто заменой логики хранимки на сервере.

Это ты опять про двузвенки говоришь, где причины появления хранимок вполне понятны (как эмуляция application layer).
А вот в трехзвенках ничего из этого уже не нужно...
...
Рейтинг: 0 / 0
использование хранимых процедур
    #36280076
baracs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
barrabasМеньше действий
с процедурами:
1. исправил / закомитил в svn/cvs/меркуриал
2. выполнил

Получил в лоб "object in use", пошёл всех выгонять из базы.

Это где такое?
В смысле, какая СУБД выдает такие штуки при рекомпиляции ХП?
...
Рейтинг: 0 / 0
использование хранимых процедур
    #36280085
Фотография barrabas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛПbarrabasПочему прям без ничего
Почему? По Вашим словам.

Если нужно засветить ИС через внешку
Этак договоримся до того, что связку MS SQL Server + MS ISA Server будем считать примером многозвенного приложения.
так собственно чем WCF не средний слой, в нем можно как раз кучу логики не относящейся к БД реализовать

2 DPH3
с правами БД конечно я загнул, но пересобирать и выпускать в продакшен средний слой сложнее, нежели просто заменить процедуру.
...
Рейтинг: 0 / 0
использование хранимых процедур
    #36280086
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
baracsDimitry Sibiryakov
barrabasМеньше действий
с процедурами:
1. исправил / закомитил в svn/cvs/меркуриал
2. выполнил

Получил в лоб "object in use", пошёл всех выгонять из базы.

Это где такое?
В смысле, какая СУБД выдает такие штуки при рекомпиляции ХП?
FireBird
...
Рейтинг: 0 / 0
использование хранимых процедур
    #36280087
ЛП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 iscrafm
если быстрее и надежней будет так, как показано ниже
Не надо аргументировать примерами экстремального говнокода

Мысль понятна, в общем. Против возможности (и зачастую целесообразности) реализации логики в БД я не возражаю. Но тогда вынос управления правами в средний слой выглядит странно, а аргументы типа "различные СУБД" так и вообще выглядят невозможно.

ИМХО, если (по каким-либо причинам логика зашита в БД, то надо иметь в БД по возможности всё остальное (всякое там управление правами). Если же логика в среднем слое, то и управление правами итд итп там же должно лежать. И надобности в хранимках в этом случае как бы и нету вообще (с чего обсуждение и началось).
...
Рейтинг: 0 / 0
использование хранимых процедур
    #36280094
ЛП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 barrabas
так собственно чем WCF не средний слой, в нем можно как раз кучу логики не относящейся к БД реализовать
По Вашему "средний слой" - это "где можно кучу всякой логики реализовать"?
Я и на клиенте могу навалить реализовть кучу всякой логики, но средним слоем он от этого не станет. Даже не сомневайтесь.
...
Рейтинг: 0 / 0
использование хранимых процедур
    #36280127
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛП2 iscrafm
если быстрее и надежней будет так, как показано ниже
Не надо аргументировать примерами...

а что в нем написано? :)

ЛПНо тогда вынос управления правами в средний слой выглядит странно, а аргументы типа "различные СУБД" так и вообще выглядят невозможно.

Вы просто наверное не встречались с таким. Когда в комплекс завязаны много компаний с различными системами и СУБД, то выглядит это очень даже "возможно"

ЛПИМХО, если (по каким-либо причинам логика зашита в БД, то надо иметь в БД по возможности всё остальное (всякое там управление правами). Если же логика в среднем слое, то и управление правами итд итп там же должно лежать. И надобности в хранимках в этом случае как бы и нету вообще (с чего обсуждение и началось).
в примитивных случаях конечно. Ничего кроме СУБД не нужно в принципе. Я говорю о больших системах. Кстати, в какой из СУБД будете держать управление доступом если их несколько. Ну и конечно же, в трехзвенках клиент не работает с СУБД. Для СУБД 500 пользователей системы - это один Сервер приложений
...
Рейтинг: 0 / 0
использование хранимых процедур
    #36280130
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmbaracsDimitry Sibiryakov
Получил в лоб "object in use", пошёл всех выгонять из базы.

Это где такое?
В смысле, какая СУБД выдает такие штуки при рекомпиляции ХП?
FireBirdНет такого в FireBird.

Но менять метаданные на ходу действительно весьма не рекомендуется.
Ещё с момента начальной реализации PSQL Borland'ом.
Ничего, когда-нибудь и это исправим.
...
Рейтинг: 0 / 0
использование хранимых процедур
    #36280137
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladiscrafmbaracsDimitry Sibiryakov
Получил в лоб "object in use", пошёл всех выгонять из базы.

Это где такое?
В смысле, какая СУБД выдает такие штуки при рекомпиляции ХП?
FireBirdНет такого в FireBird.

ну значит у меня под этим именем MySQL скрывается. Вот же замаскировался жук.
...
Рейтинг: 0 / 0
использование хранимых процедур
    #36280156
ЛП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 iscrafm
а что в нем написано? :)
Я в сортах овна не разбираюсь :)

Кстати, в какой из СУБД будете держать управление доступом если их несколько.
Именно в среднем слое буду держать управление доступом. Потому что СУБД несколько. Проще сопровождать одну систему раздачи прав, чем несколько.
И по этой же самой причине буду стараться держать логику с том же самом (а может и немножко другом) среднем слое - потому что сопровождать одну кучку бизнес-логики гораздо проще, чем многие множества куч, тем более размазанных по каким-то там хранимкам.
Есть трехзвенка - на фиг бы мне сдались хранимые процедуры. (исключая вопросы производительности, из за которых конечно же может понадобиться заниматься размазыванием).
...
Рейтинг: 0 / 0
использование хранимых процедур
    #36280157
Фотография barrabas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛП2 barrabas
так собственно чем WCF не средний слой, в нем можно как раз кучу логики не относящейся к БД реализовать
По Вашему "средний слой" - это "где можно кучу всякой логики реализовать"?
Я и на клиенте могу навалить реализовть кучу всякой логики, но средним слоем он от этого не станет. Даже не сомневайтесь.
а по теме, чем WCF-сервер не средний слой между базой и клиентом, та же программа в виде сервиса или приложения, слушает порт, принимает команды с клиента, выдает ему результат.

У нас 4ре разные ИС, а баз разных и того больше
...
Рейтинг: 0 / 0
использование хранимых процедур
    #36280177
Фотография barrabas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это вопрос как я понял "религиозный"
...
Рейтинг: 0 / 0
использование хранимых процедур
    #36280179
ЛП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
barrabasУ нас 4ре разные ИС, а баз разных и того больше
И бизнес-логика, как я понимаю, у Вас размазана по четырем разным ИС и еще большему количеству баз, где она лежит в миллионе разнообразных хранимок.
С чем Вас и поздравляю.
Увольте там кого-нибудь. Наймите другого.
...
Рейтинг: 0 / 0
использование хранимых процедур
    #36280184
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛПЕсть трехзвенка - на фиг бы мне сдались хранимые процедуры. (исключая вопросы производительности, из за которых конечно же может понадобиться заниматься размазыванием).
"нафиг бы"? Речь о чем-то конкретном или просто о барышнях рассуждаем которых пощупать нет возможности? А то назвали что-то нехорошим словом, а потом сказали, что даже не понимаете что там написано. Скучно.
...
Рейтинг: 0 / 0
использование хранимых процедур
    #36280186
Фотография barrabas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛПbarrabasУ нас 4ре разные ИС, а баз разных и того больше
И бизнес-логика, как я понимаю, у Вас размазана по четырем разным ИС и еще большему количеству баз, где она лежит в миллионе разнообразных хранимок.
С чем Вас и поздравляю.
Увольте там кого-нибудь. Наймите другого.
да нет, просто только одна наша, а другие купленные
...
Рейтинг: 0 / 0
25 сообщений из 343, страница 3 из 14
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / использование хранимых процедур
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]