powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Что есть в oracle и нет в postgresql?
25 сообщений из 271, страница 3 из 11
Что есть в oracle и нет в postgresql?
    #40001357
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envИ правила именования ключей таких таблиц должны быть дюже жёсткими, а вдруг соседняя
процедура в той же сессии запишет своё значение с этим ключом.

А в пакете соседняя процедура не может записать значение в ту же пакетную переменную?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Что есть в oracle и нет в postgresql?
    #40001369
Бумбараш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
Бумбараш,

пока не попробовал не поймёшь. Что удобней ориентироваться среди 100500 процедур/функций в плоском списке или сгруппированным по пространству имён?

да я знаю, что такое пакеты

что удобней при маленьком изменении перекомпилировать одну процедуру или десятиэтажный пакет?

работал с ораклом и работаю много лет. Но также работал и со многими другими базами, где нет никаких пакетов и всё замечательно.

Может пакеты это и неплохо. Но когда это продают как киллер фичу и задвигают телеги про то, что они надежны, потому что министерством обороны сша разработаны. Это лол
...
Рейтинг: 0 / 0
Что есть в oracle и нет в postgresql?
    #40001374
Бумбараш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пакеты это естественно не та фича (по мне это вообще копеешная фича), за которую надо платить 10ки тыщ долларов.

В контексте вопроса ТС пакеты играют лишь ту роль, что да, они зашились на пакеты и им будет из-за этого труднее мигрировать.
То есть сами усугубили себе вендор лок из-за пакетов. А это и есть минус пакетов
...
Рейтинг: 0 / 0
Что есть в oracle и нет в postgresql?
    #40001412
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

В пакете обычно не смешивают процедуры, не объединённые общей бизнес-логикой или утилитарным функционалом. А вынесенный в отдельную таблицу ключ может использовать процедура, никак не связанная с логикой данного модуля. В вашем варианте, вызывая любую "чужую" процедуру, надо проверять, какие ключи она затрагивает.

Бумбараш,

а это и не киллер-фича. Просто удобство. Особенно, когда есть с чем сравнивать.
...
Рейтинг: 0 / 0
Что есть в oracle и нет в postgresql?
    #40001414
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бумбараш
То есть сами усугубили себе вендор лок из-за пакетов


Согласен. Надо сразу писать ANSI-совместимый код, вынося всю логику на уровень приложений. Тогда подойдёт в общем-то любая СУБД, вплоть до использования файлов. Никаких процедур - это вендор лок в любом случае. Никаких управлений уровнями изоляции и блокировками. Никаких типов данных, кроме наиболее примитивных. Никакого функционала с агрегатными и тем более оконными функциями. Только CRUD.

Вот тогда не будет проблем при миграции, стопудово!


А, забыл. Никакого BI - это тоже же вендор лок. Только свой велосипед на чистом SELECT.
...
Рейтинг: 0 / 0
Что есть в oracle и нет в postgresql?
    #40001431
Фотография Валерий Юринский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бумбараш
пакеты это естественно не та фича (по мне это вообще копеешная фича), за которую надо платить 10ки тыщ долларов.

В контексте вопроса ТС пакеты играют лишь ту роль, что да, они зашились на пакеты и им будет из-за этого труднее мигрировать.
То есть сами усугубили себе вендор лок из-за пакетов. А это и есть минус пакетов

Можно мигрировать на IBM DB2.
Там тоже есть PL/SQL и проблем с миграцией PL/SQL будет намного меньше!

* * *

Но самое ужасное в Oracle - это невозможность делать SELECT из процедуры, как в MS SQL.
Отсутствие такой фичи показывает полное убожество дорогущей базы Oracle. :-(

А вот PostgreSQL имеет в своем арсенале такую "киллер фичу"?
Можно в PostgreSQL делать SELECT из процедуры?
Или он такой же убогий, как Oracle?

:-)
...
Рейтинг: 0 / 0
Что есть в oracle и нет в postgresql?
    #40001433
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий Юринский
Но самое ужасное в Oracle - это невозможность делать SELECT из процедуры, как в MS SQL.


Вы имеете в виду select внутри процедуры, который возвращает DS при вызове этой процедуры?
или select * from procedure ?

второго в MS SQL нет
...
Рейтинг: 0 / 0
Что есть в oracle и нет в postgresql?
    #40001436
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msLex,

Первое
...
Рейтинг: 0 / 0
Что есть в oracle и нет в postgresql?
    #40001451
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envА вынесенный в отдельную таблицу ключ может использовать процедура, никак не связанная с
логикой данного модуля.

Э-э-э... Не понял. Таблица в схеме, процедура в схеме, процедура обращается к таблице по
имени схемы, прав на таблицу "наружу" никому не выдано. Какая "никак не связанная с
логикой" процедура сможет её использовать?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Что есть в oracle и нет в postgresql?
    #40001463
andy st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
msLex
Валерий Юринский
Но самое ужасное в Oracle - это невозможность делать SELECT из процедуры, как в MS SQL.


Вы имеете в виду select внутри процедуры, который возвращает DS при вызове этой процедуры?
или select * from procedure ?

второго в MS SQL нет

как это нету?
Код: sql
1.
select * from OPENQUERY ([loopback],'exec sys.sp_databases') where database_name like 'm%'


:)
...
Рейтинг: 0 / 0
Что есть в oracle и нет в postgresql?
    #40001551
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Любая. В той же схеме, но выполняющая другой кусок бизнес-логики.
...
Рейтинг: 0 / 0
Что есть в oracle и нет в postgresql?
    #40001623
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envЛюбая. В той же схеме, но выполняющая другой кусок бизнес-логики.

И чем это отличается от случая "любая функция в том же пакете, но выполняющая другой кусок
бизнес-логики"? Возможно тем, что в этом случае шишки будут сыпать на разработчика,
который поместил в пакет левую функцию, а не говорить, что "пакеты плохие, не обеспечивают
достаточного уровня инкапсуляции"?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Что есть в oracle и нет в postgresql?
    #40001634
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Разнесение логики по модулям (пакетам) выполнить проще. С меньшей вероятностью ошибки, нежели выискивать, кто из разработчиков в своей процедуре решил использовать тот же ключ из таблички или ошибся буковкой.

Найти заполнение переменной в одном пакете проще, нежели перелопатить сотню процедур одной схемы, особенно если изменение по ключу происходит не напрямую, а во вложенном вызове.

Я исхожу из работы над кодом команды, состоящей более чем из одного разработчика. Соглашение "один пакет - одна задача" выполнить гораздо проще, чем вести где-то взаимосвязь отдельных процедур, выполняющих связанный набор процессов. Проще отслеживать изменения, проще решать конфликты, проще ограничивать объём изменений. Проще оценивать, что затронут изменения.

Соглашусь, что точечные процедуры в отдельных схемах будут удобнее, если на базе нет логики и она вынесена на уровень приложения. Для процедур, реализующих CRUD, так даже удобнее - можно нагенерить обвязку по отдельной схеме. Но это просто другой класс задач.
...
Рейтинг: 0 / 0
Что есть в oracle и нет в postgresql?
    #40001642
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envНайти заполнение переменной в одном пакете проще, нежели перелопатить сотню процедур одной
схемы, особенно если изменение по ключу происходит не напрямую, а во вложенном вызове.

Перелопатить сотню процедур в пакете проще, чем перелопатить сотню процедур в схеме? Или
просто у Вас не укладывается в голове существование схемы, созданной под три процедуры?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Что есть в oracle и нет в postgresql?
    #40001649
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

envЛюбая. В той же схеме, но выполняющая другой кусок бизнес-логики.

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

всем отличается. в оракле у тебя в package 3 процедуры торчащих наружу, в его body 100 процедур закрытых от внешнего мира
а в чем инкапсуляция 100 процедур mssql сваленных в одну схему ?
...
Рейтинг: 0 / 0
Что есть в oracle и нет в postgresql?
    #40001653
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1а в чем инкапсуляция 100 процедур mssql сваленных в одну схему ?

В том, что "торчит наружу" только три, а остальные пользователю видеть и вызывать запрещено?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Что есть в oracle и нет в postgresql?
    #40001666
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

H5N1а в чем инкапсуляция 100 процедур mssql сваленных в одну схему ?

В том, что "торчит наружу" только три, а остальные пользователю видеть и вызывать запрещено?..

действительно. не подумал. зачем девелоперу видеть код, многие вещи можно и угадать.
...
Рейтинг: 0 / 0
Что есть в oracle и нет в postgresql?
    #40001678
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1зачем девелоперу видеть код, многие вещи можно и угадать.

Конечно. Особенно хорошо с угадыванием помогают намёки документации. Хотя о чём это я,
пользователю же можно просто вывалить заголовок пакета, а дальше он и сам разберётся, не
маленький.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Что есть в oracle и нет в postgresql?
    #40001712
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Перелопатить сотню процедур в пакете
Сто процедур в пакете в большинстве случаев не требуется, т.к. это инкапсуляция логики отдельного процесса или утилитарного функционала, который можно и нужно декомпозировать на отдельные составляющие. Опережая вопрос, в этом случае вряд ли будет нужна некая общая переменная для всех процедур. А если такая нужна - выносится в пакет с глобальными переменными уровня сессии, где можно закрыть её через get/set-методы с проверкой вызывающего.

Или
просто у Вас не укладывается в голове существование схемы, созданной под три процедур
Нет, это Вам похоже очень сложно представить себе работу с пакетами, декомпозицию и инкапсуляцию логики. Лично я уже наелся при работе с sql server варианта "схема под три процедуры", спасибо, больше не хочется. Особенно, когда начинается рефакторинг общих вызовов с созданием новых схем.

В том, что "торчит наружу" только три, а остальные пользователю видеть и вызывать запрещено?
Пользователю (именно пользователю, т.е. приложению или вызывающему клиенту) не нужно знать код процедур. Ему достаточно знать контракт вызова в виде их сигнатуры, а не код реализации каждого метода. Не говоря уж о том, что у пользователя в принципе не должно быть возможности вызвать служебные методы, которые не предназначены для внешнего использования.
...
Рейтинг: 0 / 0
Что есть в oracle и нет в postgresql?
    #40001716
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В обратную сторону - у postgresql есть замечательная штука с объявлением окна, общего для нескольких функций. Прям хочется такое же.

Честно говоря, не знаю, насколько сейчас хорошо в postgesql с секционированием, что можно, какие поддерживаются способы и сочетания. Может кто подсказать?
...
Рейтинг: 0 / 0
Что есть в oracle и нет в postgresql?
    #40001744
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

Конечно. Особенно хорошо с угадыванием помогают намёки документации.

документация ? что за легаси. только телеграмм бот !

Dimitry Sibiryakov

Хотя о чём это я, пользователю же можно просто вывалить заголовок пакета, а дальше он и сам разберётся, не
маленький.

о чем ты думаю ты и сам уже ответить не сможешь. чего девелопер должен делать, если ему нужно расширить "package" 101 процедурой я так и не понял.
...
Рейтинг: 0 / 0
Что есть в oracle и нет в postgresql?
    #40001776
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
env
Нет, это Вам похоже очень сложно представить себе работу с пакетами, декомпозицию и инкапсуляцию логики.

Вы, похоже, недавно знакомы с Димой. Наверное, Вы видели такой эффект: ребёнок пытается перепрыгнуть через скамейку, недопрыгивает, падает и кричит: "Плохая скамейка!" Вот у Димы примерно такие же взаимоотношения с Oracle-ом.
...
Рейтинг: 0 / 0
Что есть в oracle и нет в postgresql?
    #40001780
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerВот у Димы примерно такие же взаимоотношения с Oracle-ом.

Хммм... Переход на личности... В ФИДО это был бы верный признак, что дискуссия слита и её
можно пристрелить.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Что есть в oracle и нет в postgresql?
    #40001782
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Расчехляйте плюсомёт, что уж там
...
Рейтинг: 0 / 0
Что есть в oracle и нет в postgresql?
    #40001785
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IMHO Дискуссия слита еще на первой странице. Сейчас остался только флейм и троллинг

наброс "Что есть в oracle и нет в postgresql?" на вентилятор, слишком толсто и тяжело - не взлетит.
...
Рейтинг: 0 / 0
25 сообщений из 271, страница 3 из 11
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Что есть в oracle и нет в postgresql?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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