Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5 6   вперед  Ctrl      все
 Re: Зачем нужны хранимые процедуры?  [new]
ну дела
Guest
гы.. вот я тоже люблю больше всего фокспро..
но, при этом мне бы и в голову не пришло пихаться на вакансию
"Админ SQL+Axapta "...
ИМХО конечно...
8 апр 04, 09:15    [617862]     Ответить | Цитировать Сообщить модератору
 Re: Зачем нужны хранимые процедуры?  [new]
Urri
Member

Откуда: Москва
Сообщений: 2693
Ха!

Если уж пошли признания в любви, то и я признаюсь, что из всех продуктов, с которыми мне приходилось работать, фокс мною наиболее любим.
Но это само по себе ровным счетом ничего не значит ;-).
Вполне может быть, что это просто тоска по безвозвратно ушедшей молодости ;-))).
8 апр 04, 10:33    [618048]     Ответить | Цитировать Сообщить модератору
 Re: Зачем нужны хранимые процедуры?  [new]
x
Guest
Или склонность к мазохизму... :)
8 апр 04, 10:51    [618100]     Ответить | Цитировать Сообщить модератору
 Re: Зачем нужны хранимые процедуры?  [new]
Borland
Member

Откуда: $HOME
Сообщений: 15839
Любителям фокса посвящается : БД с одновременным коннектом числа пользователей пятого порядка тоже на фоксе создавать будете?

Когда речь идёт о выборе СУБД, нужно руководствоваться не любовью, а бизнесс-требованиями.

-----
Все великие дела совершаются в командной строке
8 апр 04, 11:11    [618146]     Ответить | Цитировать Сообщить модератору
 Re: Зачем нужны хранимые процедуры?  [new]
ну дела
Guest
дік я живу в таком месте, где БД с таким количеством подключений просто нереальні и только то..... так что фокс типа рулит..
а 2-е дайте мне разработчика БД под ОРАКЛ (или книгу) и я на фоксе напишу клиентсткую часть к ОРАКЛУ и только -то.. клиент-то не важен на чем....
8 апр 04, 13:54    [618703]     Ответить | Цитировать Сообщить модератору
 Re: Зачем нужны хранимые процедуры?  [new]
Alexander_Chepack
Member

Откуда: London
Сообщений: 22649
автор

Я юзаю курсоры с рабочей станции...)


Когда я такое слышу, моя рука тянется к ручке пистолета ....
8 апр 04, 19:05    [619693]     Ответить | Цитировать Сообщить модератору
 Re: Зачем нужны хранимые процедуры?  [new]
beginner_7
Member

Откуда:
Сообщений: 171
Вот прикольный топик!
Можно свои 5 копеек.
Дело в том, что в запросе типа
select sin(FLD1), (FLD1/FLD2*100) Percent from TABLE1
- sin, / , *100 это уже "Хранимые Процедуры" (ХП).
Вопрос: они нужны? наверное все ответят - "да"!!!
Все остальные ХП, как встроеныые, так и определяемые пользователями(разработчиками) просто являются более навороченными.
- Типа выражение "Дашь палец, так тебе и руку откусят"
То есть если кто против, пусть откажется от (sin, cos, +, -, /, substr...)
А также агрегаций типа sum, count, avg...
И всё считает на клиенте!!! А то мало ли как реализатор SQL сервера реализовал операцию деления (/).
:))
8 апр 04, 20:38    [619803]     Ответить | Цитировать Сообщить модератору
 Re: Зачем нужны хранимые процедуры?  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
beginner_7
sin, / , *100 это уже "Хранимые Процедуры" (ХП).

IT консультант пишет, однако. Знать необязательно, главное уметь консультировать
9 апр 04, 10:47    [620385]     Ответить | Цитировать Сообщить модератору
 Re: Зачем нужны хранимые процедуры?  [new]
beginner_7
Member

Откуда:
Сообщений: 171
2SergSuper
>Знать необязательно
Не понял!
То есть sin это не хранимая процедура (функция)?
Объясни!


Некоторые "выдержки" из спецификации пакета SYS.STANDARD БД Oracle:

....
function '+' (LEFT NUMBER, RIGHT NUMBER) return NUMBER;
pragma BUILTIN('+',14, 2, 8); -- PEMS_NUMBER, NUM_ADD
function '-' (LEFT NUMBER, RIGHT NUMBER) return NUMBER;
pragma BUILTIN('-',15, 2, 9); -- PEMS_NUMBER, NUM_SUB
function '*' (LEFT NUMBER, RIGHT NUMBER) return NUMBER;
pragma BUILTIN('*',17, 2, 10); -- PEMS_NUMBER, NUM_MUL
function '/' (LEFT NUMBER, RIGHT NUMBER) return NUMBER;
pragma BUILTIN('/',18, 2, 11); -- PEMS_NUMBER, NUM_DIV
....
function COS(N NUMBER) return NUMBER;
function SIN(N NUMBER) return NUMBER;
function TAN(N NUMBER) return NUMBER;
function COSH(N NUMBER) return NUMBER;
function SINH(N NUMBER) return NUMBER;
function TANH(N NUMBER) return NUMBER;
function EXP(N NUMBER) return NUMBER;
function LN(N NUMBER) return NUMBER;
....

Реализация, к сожалению, "скрыта" (закодирована) фирмой Oracle.

Или под Заявлением
"Знать необязательно, главное уметь консультировать"
скрывается еще что-то?
9 апр 04, 18:13    [621910]     Ответить | Цитировать Сообщить модератору
 Re: Зачем нужны хранимые процедуры?  [new]
Cat2
Member

Откуда: Petroskoi, Karjala
Сообщений: 145754
Давно я так не смеялся.
Ответ. ХП нужны того, что бы
1. Ограничить права юзера по работе с таблицами только тем, что ему положено.

2. Изолировать реализацию логики приложения от клиентской части.

Это прямое следствие 8-го и 9-го правила Кодда о независимости прикладных программ от изменений в

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

правила.
=====
P.S. Писано 08.04.2004
9 апр 04, 18:29    [621940]     Ответить | Цитировать Сообщить модератору
 Re: Зачем нужны хранимые процедуры?  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
2 beginner_7
sin - это встроенная функция
ну как-то странно мне учить человека который вот стал IT консультантом
9 апр 04, 19:00    [621985]     Ответить | Цитировать Сообщить модератору
 Re: Зачем нужны хранимые процедуры?  [new]
gardenman
Member

Откуда: С-Петербург
Сообщений: 2347
>Ответ. ХП нужны того, что бы
>1. Ограничить права юзера по работе с таблицами только тем, что ему >положено.
>2. Изолировать реализацию логики приложения от клиентской части.

Вы считаете что только с помощью ХП можно скрыть структуру таблиц от и ограничить права юзеров?.. ой как глубоко заблуждаетесь.))

ХП прежде всего выигрывают в производительности
1) используется предкомпиляция и оптимизация (хотя не только в ХП, но и вложенный SQL на это оч способен, причем вложенный SQL гораздо быстрее и легче писать)
2) увеличение производительности обработки информации за счет уменьшения накладных расходов на передачу данных между хранилищем (СУБД) данных и приложением (уменьшение трафика в сети)

А вот тоже интересный вопрос: изолируем мы логику приложения от клиентской части, мы где тут получим выигрыш в производительности?
10 апр 04, 11:30    [622341]     Ответить | Цитировать Сообщить модератору
 Re: Зачем нужны хранимые процедуры?  [new]
tygra
Member

Откуда: Тверь (Иркутск, Край)
Сообщений: 9997
автор
2) увеличение производительности обработки информации за счет уменьшения накладных расходов на передачу данных между хранилищем (СУБД) данных и приложением (уменьшение трафика в сети)


Да что же вы к трафику то привязались? Да не играет он почти никакой роли в производительности при клиент-серверной архитектуре. Только время на передачу данных - но это не производительность, скорее время отклика.

автор
А вот тоже интересный вопрос: изолируем мы логику приложения от клиентской части, мы где тут получим выигрыш в производительности?


Да везде. Хотя бы то, что для увеличения производительности нужно менять только сервер, а не 50 клиентов.

Да вообще, странный какой-то разговор - все-равно что говорить, чем лучше круглые колеса вместо квадратных

-- Tygra's --
12 апр 04, 11:52    [623605]     Ответить | Цитировать Сообщить модератору
 Re: Зачем нужны хранимые процедуры?  [new]
gardenman
Member

Откуда: С-Петербург
Сообщений: 2347
Вопрос- какие бывают велосипеды?
1)трехколесные
2)двухколесные
3)одноколесные
4)водный велосипед
5)воздушный (с пропеллером)
6)велосипед с моторчиком
и т.д...
к чему это я?...
Да здравствуют изобретатели велосипедов!
Еще не все велосипебы изобретены!
изобретатели велосипедов всех стран, присоединяйтесь!
*крик души*
12 апр 04, 12:16    [623659]     Ответить | Цитировать Сообщить модератору
 Re: Зачем нужны хранимые процедуры?  [new]
xz321
Guest
Дорогой Тигра.

Ты не прав.
Примерная цепочка рассуждений
1) Медленная сеть => данные дольше передаются на клиента
2) Данные дольше передаются => Ресурсы дольше освобождаются
3) Ресурсы дольше освобождаются => меньше свободных ресурсов
4) уменьшение свободных ресурсов в общем случае приводит к уменьшениию
производительности

Время отклика здесь следствие

P.S. В больших системах IMHO сервер БД это узкое место.
12 апр 04, 12:55    [623741]     Ответить | Цитировать Сообщить модератору
 Re: Зачем нужны хранимые процедуры?  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
Классные рассуждения, можно я тоже так попробую.

1. Когда человек стоит голова находится дальше от центра земли
2. голова находится дальше от центра земли => при беге она проходит большее расстояние
3. раз голова проходит большее расстояние => она имеет большую скорость
4. голова при беге она имеет большую скорость => при старте требуется большее усилие чтобы её разогнать
5. если лечь голова будет находиться ближе к центру земли => спортсменам-спринтерам легче было бы бежать лёжа
12 апр 04, 14:24    [623920]     Ответить | Цитировать Сообщить модератору
 Действительно, ну нафига он (сервер) нужен? :)  [new]
U-gene
Member

Откуда: Москва. Россия
Сообщений: 1576
Сейчас мне опять скажут - "если нечего сказать - промолчи".... но не могу я удержаться...

автор
В больших системах сервер БД это узкое место


ДАЕШЬ!!! уберем это "узкое место" нафиг!!!...

....и большой системы не станет вообще.

Что касаемо хранимых процедур, то ИМХО надо понять, что, что данные, описывающие предметную область - это не только цифры и буквы, но и ...мммм... возможные зависимости между этими цифрами и буквами, а эти зависимости должны быть реализованы неким функционалом. То факт, что цифры и буквы храняться на сервере, а функционал - еще где-то, фактически означает, что на сервере хранятья НЕ ВСЕ данные о предметной области. Мне это не нравиться.

Опять же, всем известно, что данные должны быть неизбыточны и непротиворечивы. Дык вот, система, где данные храняться в одном месте а обрабатываются в другом, (если рассматривать ее в целом) принципиально и вызывающе нарущает эти требования, поскольку на определенном этапе одно и то же может существовать в разных местах, причем в одном месте оно еще старое, а в другом мы его уже изменили. Хранимые процедуры позволяют избежать это.
12 апр 04, 14:45    [623986]     Ответить | Цитировать Сообщить модератору
 Re: Зачем нужны хранимые процедуры?  [new]
xz321
Guest
Друзья U-gene, SergSuper во первых не надо передергивать.
Что вы называете большими системами??? Давайте начнем с определений.
Я нигде не говорил что клиeнт-сервер отстой и ему пора на свалку истории.
Но в больших системах СУБД это узкое место так как его сложнее масштабировать в лоб: увеличивая мегагерцы, гигабайты и дисковые массивы. Если это не так давайте доказывайте.

SergSuper, в твоих рассуждениях много правильно. Только разница про которую ты говоришь настолько мала что ей можно пренебречь. А сетевым трафиком в сильно нагруженной системе пренебречь нельзя. Так что ищи другой пример.
12 апр 04, 18:28    [624647]     Ответить | Цитировать Сообщить модератору
 Re: Зачем нужны хранимые процедуры?  [new]
tygra
Member

Откуда: Тверь (Иркутск, Край)
Сообщений: 9997
Нет проблем с маштабированием в лоб: добавляй процессоров, памяти сколько влезет (мы вот скоро получим новую технику, эххх заживем !!!:).
А на Оракле еще лучше - там кластер можно наращивать, пока не надоест.

В общем.... О чем это мы? :)

-- Tygra's --
12 апр 04, 18:38    [624653]     Ответить | Цитировать Сообщить модератору
 клиeнт-сервер отстой! и ему пора на свалку истории!!!  [new]
U-gene
Member

Откуда: Москва. Россия
Сообщений: 1576
Пардонте, а фраза
xz321
P.S. В больших системах IMHO сервер БД это узкое место.

чья? то есть Вы что-то сказали о "больших системах" , а мы теперь тут это дружно "определяй" давай? Фигушки!!! :). Кто первый сказал, тот пусть и "начинает с определения".

Если честно, я тут мысль теряю. Точнее не то что бы теряю, но это что-то типа " я не говорю, что фон-неймановские машины - отстой, и им пора на свалку истории, но если на пентюхе запустить 250 разных программ, то он точно зависнет"... и что теперь говорить?... где тут причинно-следственная связь то?....смещались в кучу принципы и реализация, логика и технологии...я это "начинать с определния" не хочу...напрасный труд хуже пьянства. :)
12 апр 04, 18:59    [624662]     Ответить | Цитировать Сообщить модератору
 Re: Зачем нужны хранимые процедуры?  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
xz321
А сетевым трафиком в сильно нагруженной системе пренебречь нельзя.

При правильно спроектированном клиент-сервере - можно. Во всяком случае у меня такая проблемма никогда не стояла, тормоза в основном из-за обработки на сервере. Если у тебя другой опыт - поделись.
Я допускаю что в каких-то системах трафик может играть роль - допустим тысячи активно работающих клиентов. Но в таким случиях о файл-серверах никто даже и не задумывается.
Да, в больших системах СУБД это узкое место, его сложнее масштабировать, но альтернатива - вместо одного узкого места сделать тысячи узких мест.
12 апр 04, 19:36    [624697]     Ответить | Цитировать Сообщить модератору
 Re: Зачем нужны хранимые процедуры?  [new]
xz321
Guest
Да у меня другой опыт. Знали бы вы когда когда у тебя один запрос по хранилищу данных сжирает 1ТБ и ResultSet у него такой что Фокспрошникам даже и не снилось.
12 апр 04, 20:10    [624724]     Ответить | Цитировать Сообщить модератору
 Re: Зачем нужны хранимые процедуры?  [new]
xz321
Guest
уточнение 1 ТБ в temporary tablespace.
12 апр 04, 20:11    [624725]     Ответить | Цитировать Сообщить модератору
 Re: Зачем нужны хранимые процедуры?  [new]
www.fun4me.narod.ru
Member

Откуда: Moscow
Сообщений: 2406
уточнение 1 ТБ в temporary tablespace.

Если это в MSSQL, то у него такое случается иногда, если производятся запросы к таблицам, объёмы данных в которых могут очень сильно меняться в момент выполнения хранимой процедуры. Оптимизатор глючит и выбирает не самый оптимальный план. Самое смешное, что если заменить запрос на динамический exec('....'), то всё работает быстро и сжирает памяти мало. Всё равно это не повод отказываться от ХП - надо лишь немножко её доработать.
12 апр 04, 20:17    [624731]     Ответить | Цитировать Сообщить модератору
 Re: Зачем нужны хранимые процедуры?  [new]
www.fun4me.narod.ru
Member

Откуда: Moscow
Сообщений: 2406
2 xz321
Что-то я уже читать разучился. Sorry.
12 апр 04, 20:21    [624736]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5 6   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить