Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ERP и учетные системы [игнор отключен] [закрыт для гостей] / Внешние ключи в OEBS, SAP, Axapta и тд. / 25 сообщений из 115, страница 1 из 5
01.12.2005, 10:49
    #33410408
IgorTv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешние ключи в OEBS, SAP, Axapta и тд.
Интересует меня вопрос:
используются ли внешние ключи (Foreign Key) в системах ERP?
Насколько мне подсказывает логика, то не должны, т.к. использование ключей - выше надежность и ниже производительность. А в ERP производительность крайне важна. Если я для одной транзакции залочу 5-7 таблиц активно используемых, то все остальные будут курить пока моя транзакция не докомитится.

Интересует этот вопрос и по 1С и по Галактике и в принципе по всем системам

Добрый день кстати :)
...
Рейтинг: 0 / 0
01.12.2005, 10:54
    #33410419
Эстонский голем
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешние ключи в OEBS, SAP, Axapta и тд.
ключи надо искать на альтовисте а не здесь просить
...
Рейтинг: 0 / 0
01.12.2005, 10:57
    #33410428
IgorTv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешние ключи в OEBS, SAP, Axapta и тд.
Эстонский големключи надо искать на альтовисте а не здесь просить
мне не ключи доступа нужны а архитектура БД систем
...
Рейтинг: 0 / 0
01.12.2005, 11:23
    #33410513
9
9
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешние ключи в OEBS, SAP, Axapta и тд.
В OEBS нету внешних ключей, ВЫ совершенно правы.Но объяснение этой особенности проблемами производительности можно принять, если доказать, что внешнии ключи съедают хотябы 5-10% процентов производительности. Но есть ли у кого такая статистика?

Согласитесь, что из-за 0.2% производительности отказываться от внешних ключей смысла нет.
...
Рейтинг: 0 / 0
01.12.2005, 11:31
    #33410549
Сергей Васкецов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешние ключи в OEBS, SAP, Axapta и тд.
IgorTvиспользование ключей - выше надежность и ниже производительность. А в ERP производительность крайне важна
Система не может жертвовать надежностью ради производительности. Так что это не аргумент.
...
Рейтинг: 0 / 0
01.12.2005, 12:03
    #33410652
LSV
LSV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешние ключи в OEBS, SAP, Axapta и тд.
В большинстве ERP не используют ключи по банальной причине:
Система разработки должна быть максимально независимой от СУБД. Поэтому проверка целостности делается на клиенте с вытекающими отсюда последствиями.
Так делается в большинстве западных систем. И многих отечественных тоже.

>> А в ERP производительность крайне важна
судя по тому, как там организованы схема данных/поля/таблицы производительность второстепенна.
Отсюда и почти фантастические требования под необходимое оборудование.
...
Рейтинг: 0 / 0
01.12.2005, 12:18
    #33410710
OA User
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешние ключи в OEBS, SAP, Axapta и тд.
IgorTvиспользование ключей - выше надежность и ниже производительность. А в ERP производительность крайне важна
В OEBS вещи типа ключей, триггеров и пр. использованы по минимуму в первую очередь потому, что это трехзвенное приложение. Здесь за целостность системы отвечает по большей части сервер приложений, а не сервер БД. И в итоге в производительности вы только выигрываете, кстати. По своему печальному опыту могу сказать, что подавляющее большинство триггеров, вкоряченных талантливыми руками внедренцев в таблицы OEBS, дают ощутимую потерю скорости обработки данных.
Про сопровождение системы, масштабирование и пр. правильные слова я и не говорю.
...
Рейтинг: 0 / 0
01.12.2005, 12:28
    #33410734
Whateva
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешние ключи в OEBS, SAP, Axapta и тд.
9В OEBS нету внешних ключей, ВЫ совершенно правы.
Вы в этом уверены? (Hint: HR, GM%, ABM, AX...)
IgorTvЕсли я для одной транзакции залочу 5-7 таблиц активно используемых, то все остальные будут курить пока моя транзакция не докомитится.
Каким образом наличие FK (с индексами) может залочить 5-7 таблиц применительно к Oracle?
...
Рейтинг: 0 / 0
01.12.2005, 12:31
    #33410740
9
9
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешние ключи в OEBS, SAP, Axapta и тд.
автор
Про сопровождение системы, масштабирование и пр. правильные слова я и не говорю


так а вы скажите. почему это для 3x звенки ключи стали вдруг ненужны. Пока слышно только про проблему производительности ( ито никто не может сказать на сколько выигрыш по скорости).
...
Рейтинг: 0 / 0
01.12.2005, 12:38
    #33410760
IgorTv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешние ключи в OEBS, SAP, Axapta и тд.
IgorTvЕсли я для одной транзакции залочу 5-7 таблиц активно используемых, то все остальные будут курить пока моя транзакция не докомитится.
WhatevaКаким образом наличие FK (с индексами) может залочить 5-7 таблиц применительно к Oracle?
Ну если я не ошибаюсь, то таблицы, на которых навешаны FK нужно обрабатывать в одной транзакции. А пока пардон тарнзакция по апдейту 5-7 таблиц не дойдет до конца, то таблицы залоченны (не углубляясь в подробности со страницами и т.д.)
Пока транзакция идет использование таблиц в ней участвующих - ограничено.
...
Рейтинг: 0 / 0
01.12.2005, 12:44
    #33410783
IgorTv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешние ключи в OEBS, SAP, Axapta и тд.
9 автор
Про сопровождение системы, масштабирование и пр. правильные слова я и не говорю

так а вы скажите. почему это для 3x звенки ключи стали вдруг ненужны. Пока слышно только про проблему производительности ( ито никто не может сказать на сколько выигрыш по скорости).

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

Если ключи не использовать - сложнее программировать, целостность иногда теряется (изза ошибок программирования) но производительность будет выше т.к. грубо говоря 1 строка в таблице - 1 транзакция
...
Рейтинг: 0 / 0
01.12.2005, 12:47
    #33410791
OA User
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешние ключи в OEBS, SAP, Axapta и тд.
9
так а вы скажите. почему это для 3x звенки ключи стали вдруг ненужны. Пока слышно только про проблему производительности ( ито никто не может сказать на сколько выигрыш по скорости).
По-моему, ключи - это лишь один из инструментов обеспечения бизнес-логики, которая в OEBS, в частности, весьма сложна. Какой смысл разбрасывать реализацию этой логики по разным компонентам системы, если все можно держать на сервере приложений?
...
Рейтинг: 0 / 0
01.12.2005, 12:49
    #33410799
Andrey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешние ключи в OEBS, SAP, Axapta и тд.
IgorTv
Ну если я не ошибаюсь, то таблицы, на которых навешаны FK нужно обрабатывать в одной транзакции. А пока пардон тарнзакция по апдейту 5-7 таблиц не дойдет до конца, то таблицы залоченны (не углубляясь в подробности со страницами и т.д.)
Пока транзакция идет использование таблиц в ней участвующих - ограничено.
Ошибаетесь. Ошибаетесь в том плане, что апдейт таблицы не лочит таблицу целиком. Почитайте мануал к разным БД.

Что касается например R/3, то в принципе, возможность задания foreign key существует. Но, если честно, пока я еще не встретил ни одной таблицы для которой эти ключи определены :) Правда нельзя сказать что я целенаправлено искал.
...
Рейтинг: 0 / 0
01.12.2005, 12:51
    #33410805
OA User
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешние ключи в OEBS, SAP, Axapta и тд.
IgorTv
Ключи нужны для целостности и облегчения программирования, но при большом количестве пользователей (сотни-тысячи) будут сильно тормозить. При достижении определенного порога будет именно обвал производительности.

Если ключи не использовать - сложнее программировать, целостность иногда теряется (изза ошибок программирования) но производительность будет выше т.к. грубо говоря 1 строка в таблице - 1 транзакция
Если стандартный API использовать, с целостностью ничего не станется, и производительность будет прогнозируемой (это не менее важно, чем скорость)
...
Рейтинг: 0 / 0
01.12.2005, 12:52
    #33410812
Whateva
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешние ключи в OEBS, SAP, Axapta и тд.
IgorTvНу если я не ошибаюсь, то таблицы, на которых навешаны FK нужно обрабатывать в одной транзакции. А пока пардон тарнзакция по апдейту 5-7 таблиц не дойдет до конца, то таблицы залоченны (не углубляясь в подробности со страницами и т.д.)
Oracle залочит только те записи которые участвуют в транзакции (типа PO header -> PO lines -> Shipments). Собственно говоря наличие/отсутствие FK здесь иррелевантно: для консистентности данных их в любом случае надо блокировать.
IgorTvПока транзакция идет использование таблиц в ней участвующих - ограничено.
Ограниченно это будет только для транзакций пытающихся обновить/удалить заблокированные записи . Для всех других - без ограничений.
Блокировка таблицы - это как-то слишком дорого для OLTP.
...
Рейтинг: 0 / 0
01.12.2005, 14:07
    #33411154
9
9
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешние ключи в OEBS, SAP, Axapta и тд.
автор
Какой смысл разбрасывать реализацию этой логики по разным компонентам системы, если все можно держать на сервере приложений?


проще всего как раз сделать внешнии ключи и не писать больше ни одной строчки исходного кода.

попробуйте сами. замерьте сколько у вас уйдет времения на написания кода для проверки внешнего ключа и сколько уйдет времени на добавление внешнего ключа средствами СУБД.

Пример вот я пишу код для внешего ключа

alter table HR.PAY_PAYROLL_ACTIONS
add constraint PAY_PAYROLL_ACTIONS_FK1 foreign key (BUSINESS_GROUP_ID)
references HR.HR_ALL_ORGANIZATION_UNITS (ORGANIZATION_ID)

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

( Кстати это пример я взял из OEBS т.е там все-такие есть FK, но используются они редко...)


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


это только так кажется. нужны исследования. Думаю всем было бы интересно узнать действительно ли это так. и при каких параметрах начинается торможение. ( хотя если проверки делать самому, Наприме с помощью процедур, то они тоже буду вызывать торможение)
...
Рейтинг: 0 / 0
01.12.2005, 15:06
    #33411383
Tov. Drujba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешние ключи в OEBS, SAP, Axapta и тд.
AndreyЧто касается например R/3, то в принципе, возможность задания foreign key существует. Но, если честно, пока я еще не встретил ни одной таблицы для которой эти ключи определены :) Правда нельзя сказать что я целенаправлено искал.
Значит мало работали. Очень много таблиц с FK в САПе (EKKO, EKPO, ... всего две, потому как пример. А так почти любую не справочную открывай, не ошибешься).
Это и по сабжу. По крайней мере в R/3 FK широко используются.
...
Рейтинг: 0 / 0
01.12.2005, 15:40
    #33411536
Leshic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешние ключи в OEBS, SAP, Axapta и тд.
В OEBS улючи достаточно редки
в GL не встречал :)
в Scala есть, в Парусе есть
...
Рейтинг: 0 / 0
01.12.2005, 15:49
    #33411572
Валентин К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешние ключи в OEBS, SAP, Axapta и тд.
Блокировки: читать мануалы по конкретным БД.

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

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

в 1С нет внешних ключей, потому что dbf-ки их не поддерживают, и говорить нужны они или нет - нет смысла :)
Галактика - не показатель в принципе...

Но тем не менее в зависимости от модели хранения объектов в БД внешние ключи могут быть не применимы, но это совсем не ERP :)
...
Рейтинг: 0 / 0
01.12.2005, 17:00
    #33411838
IgorTv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешние ключи в OEBS, SAP, Axapta и тд.
Tov. Drujba AndreyЧто касается например R/3, то в принципе, возможность задания foreign key существует. Но, если честно, пока я еще не встретил ни одной таблицы для которой эти ключи определены :) Правда нельзя сказать что я целенаправлено искал.
Значит мало работали. Очень много таблиц с FK в САПе (EKKO, EKPO, ... всего две, потому как пример. А так почти любую не справочную открывай, не ошибешься).
Это и по сабжу. По крайней мере в R/3 FK широко используются.
А вещи типа автоинкремент или ограничение значений в полях таблиц используются?
...
Рейтинг: 0 / 0
01.12.2005, 17:08
    #33411865
Tov. Drujba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешние ключи в OEBS, SAP, Axapta и тд.
IgorTvА вещи типа автоинкремент или ограничение значений в полях таблиц используются?
Именно в R/3 понятия автоинкремент нет. Если надо что-то подобное, приходится реализовывать руками. По второму пункту не понял. Что Вы имеете в виду под "ограничением значений"?
...
Рейтинг: 0 / 0
01.12.2005, 17:08
    #33411867
OA User
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешние ключи в OEBS, SAP, Axapta и тд.
Валентин К
Нужно ли ERP внешние ключи: БЕССМЫСЛЕННЫЙ вопрос, ERP-концепция, внешние ключи - поддержка целостности данных в различных таблицах.

Полностью согласен, точнее не скажешь.
...
Рейтинг: 0 / 0
01.12.2005, 17:08
    #33411869
michael_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешние ключи в OEBS, SAP, Axapta и тд.
IgorTv[А вещи типа автоинкремент или ограничение значений в полях таблиц используются?
А зачем вы это спрашиваете, вы, случайно, не в милиции работаете ? (c)

Вы свою систему проетирует или обзор какой-то делаете? Вас только конкретные системы интересуют?
...
Рейтинг: 0 / 0
01.12.2005, 17:15
    #33411900
IgorTv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешние ключи в OEBS, SAP, Axapta и тд.
OA User Валентин К
Нужно ли ERP внешние ключи: БЕССМЫСЛЕННЫЙ вопрос, ERP-концепция, внешние ключи - поддержка целостности данных в различных таблицах.

Полностью согласен, точнее не скажешь.
К словам придераетесь или я не так вопрос задал. Меня интересуют реализации работы с БД конкретных ERP систем.
...
Рейтинг: 0 / 0
01.12.2005, 17:21
    #33411928
IgorTv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешние ключи в OEBS, SAP, Axapta и тд.
michael_ IgorTv[А вещи типа автоинкремент или ограничение значений в полях таблиц используются?
Вы свою систему проетирует или обзор какой-то делаете? Вас только конкретные системы интересуют?
Пытаюсь сделать постановку задачи для интеграции многих маленьких систем и JDEdwards. Вот зашел спор с разработчиками маленьких, но гордых, систем как нужно БД проектировать совместного пользования, чтоб не писать в каждой системе интерфейс под каждую, а написать один общий, но чтоб все его понимали.
Я считаю, что внешние ключи будут только тормозить БД при большом количестве операций, хотя без внешних ключей код писать тяжелее.
...
Рейтинг: 0 / 0
Форумы / ERP и учетные системы [игнор отключен] [закрыт для гостей] / Внешние ключи в OEBS, SAP, Axapta и тд. / 25 сообщений из 115, страница 1 из 5
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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