Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
WhatevaНу так сложилось. Ага! А не из-за того, что система писалась теми самыми "500-долларывыми разработчиками"?! WhatevaСпорю что данные стали "уже кривыми" в результате работы интерфейсов написанными 500-долларывыми разработчиками которые только вчера узнали чем SQL отличается от PL/SQL. Пока наши уважаемые "интеграторы" будут проводить политику "ввяжемся в бой а потом будет видно" так оно и будет. Чюдес не бывает. Будь разработчик хоть семи пядей во лбу и с зарплатой в 5 000 - это не даст 100% гарантии сохранности целостности бд при разработке кастомизаций, если сама бд в ее базовой конфигурации эту целостность не поддерживает. "Нечего на зеркало пинять,коли рожа крива". ((с) не помню чей). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2006, 13:19 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
pkarklinИ в результате, на продакшен окружениях той самой OEBS с определенной периодичность всплывают такие битые ссылки. Нет никакого оправдания разработчикам, который оставил хранилище вот таким вот незащищенным. И никакие увещевания в юзер гайдах типа "Запрещается лазить в базу чем-либо другим, кроме самой системы" здесь не помогут. Детский сад какой-то, надо не просить, а на корню пресекать попытки разрушения целостности хранилища. Оно (хранилище) должно быть самодостаточно в его базовой функциональности. IMHO. То же самое. Не надо давать неокрепшим горе-разработчикам доступ "пиши чего хочешь" к базе. Тем более PROD. На PROD разработчики в принципе доступа иметь не должны. А администратору за такие вещи надо по шапке надавать - работу он свою плохо делает. Вы в свою машину масло наливаете в соответствии с рекомендациями производителя или какое придётся? А то ведь под капот в принципе можно чего угодно залить. Следуя вашей логике капот надо закрывать на замок и открывать только на авторизированных станциях тех. обслуживания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2006, 13:20 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
2 Whateva Считаю Вашу аналогию с заменой масла абсолютно не уместной. А вот аналогию с прессом могу привести. Может быть видели, когда пресс с ручной загрузкой опускается, там перед рабочей областью проскакивает "железяка", которая отбрасывает руку зазевавшегося оператора, дабы ИСКЛЮЧИТЬ НА КОРНЮ САМУ ВОЗМОЖНОСТЬ травмотизма. И именно с этим можно сравнить наличие ограничений в самом хранилище. WhatevaСледуя вашей логике капот надо закрывать на замок и открывать только на авторизированных станциях тех. обслуживания. Следуя моей логике надо создавать хранилише так, чтоб потом "не было мучительно больно", даже если в систему залезет полный 0. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2006, 13:27 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
pkarklinАга! А не из-за того, что система писалась теми самыми "500-долларывыми разработчиками"?! А Вы в курсе кем писались основные финансовые модули или там process manufacturing? Отсутствие (Ок, практическое отсутствие) декларативной целостности на уровне RDBMS сложилось задолго до переноса разработок в Бангалор. pkarklinБудь разработчик хоть семи пядей во лбу и с зарплатой в 5 000 - это не даст 100% гарантии сохранности целостности бд при разработке кастомизаций, если сама бд в ее базовой конфигурации эту целостность не поддерживает. "Нечего на зеркало пинять,коли рожа крива". ((с) не помню чей). Вы не поверите, но опыт незаменимая штука. И наличие или отсутствие декларативной целостности не спасёт от грязи в базе в "умелых" руках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2006, 13:33 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
WhatevaА Вы в курсе кем писались основные финансовые модули или там process manufacturing? Отсутствие (Ок, практическое отсутствие) декларативной целостности на уровне RDBMS сложилось задолго до переноса разработок в Бангалор. В курсе. И что?! Я должен испытывать трепет от этого?! Да ни за что?! Не от чего там трепетать?! Как раз на оборот, только волосы дыбом на всех частях тела встают от такого, с позволения сказать, хранилища. WhatevaВы не поверите, но опыт незаменимая штука. И наличие или отсутствие декларативной целостности не спасёт от грязи в базе в "умелых" руках. Вы не поверите, я в курсе, что такое опыт! А Вы, пытаясь оправдать отсутствие в хранилишще ограничений, то приводите аргументы в виде 500-долларовых разработчиков, то, вдруг, "умелые руки". 500-долларовй разработчик, нарвавшись на ограничение не сможет (из-за 500 долларовых знаний) его отключить, а "умелые руки" 100 раз подумают перед отключением, основываясь на том самом опыте. Свою позицию по сабжевой проблеме я высказал и пока достойных аргументов в ее оправдание я не вижу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2006, 13:51 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
Whateva"Вы их просто не умеете готовить" :-) Не я. Я в данном случае пришел сбоку посмотреть на это чудо. Конечно, можно предполагать, что не умеют готовить те, кто готовили. Но мой опыт показывает, что в таких ситуациях обычно каждый говорит примерно так же о кулинарии предыдущего, а заметной разницы как не было, так и нет. WhatevaНу так сложилось. Это-то понятно. Но это не ответ. WhatevaСпорю что данные стали "уже кривыми" в результате работы интерфейсов Представления не имею, и не знаю способа узнать. Впрочем, не вижу какая разница. Главное - результат: данные кривые. "Кто виноват" - нехай интересует прокурора. Мне, как не самому рядовому специалисту, важно "что делать" с этим дерьмом при условии, что на выходе от меня ожидают конфетку. Whatevaнаписанными 500-долларывыми разработчиками Из тех разработчиков, которых я там застал, вроде бы только один работает с OEBS меньше двух лет. Пятьсотдолларовых - уверен, что не найду. WhatevaПока наши уважаемые "интеграторы" будут проводить политику "ввяжемся в бой а потом будет видно" так оно и будет. Чюдес не бывает. То есть Вы предлагаете брать гуру и хотеть от них чудес? Хмм... не думаю, что хоть один гуру пойдет на такую скучную работу как OEBS. Нет уж, я предпочту методику, достаточную для получения пристойного результата от среднего разработчика. И ключи являются ее частью. Да и время гуру совершенно незачем тратить на такую хрень. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2006, 04:31 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
WhatevaТо же самое. Не надо давать неокрепшим горе-разработчикам доступ "пиши чего хочешь" к базе. Тем более PROD. На PROD разработчики в принципе доступа иметь не должны. И какое отношение эта эскапада имеет к описанной мной ситуации? Разработчики доступа на прод не имеют. Данные на проде кривые - только сегодня нашли очередные. Что дальше? WhatevaА администратору за такие вещи надо по шапке надавать - работу он свою плохо делает. Администратор там - отдельный вопрос. Я рассказал ему кое-что, чего он не знал, но у меня нет никаких оснований считать его "плохим администратором OEBS". Пока что видна в основном Ваша склонность к непомерным обобщениям. Которая обычно лезет из двух причин - либо из опыта решения большого количества проблем, попытка сначала на рефлексе выдать типовое решение, либо наоборот, из малого опыта, который представляется большим. WhatevaСледуя вашей логике капот надо закрывать на замок и открывать только на авторизированных станциях тех. обслуживания. Следуя нашей логике, вход для масла должен отвергать попытку налить в него жидкость, не соответствующую критериям производителя. Например воду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2006, 04:37 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
pkarklin ModelRНу и как должно выглядеть самодостаточное бухгалтерское хранилище? Чтобы в базовой функциональности изменение счета в проводке - контролировалось по правилам корреспонденции счетов, - вызывало изменение сохраненных остатков, и др. Эээ... Я не совсем понял, что Вы хотите услышать от меня в ответ на Ваш вопрос?! Речь в топике шла о DRI. ModelRС точки бухгалтера все эти грехи ничем не лучше битой ссылки на счет. Эээ... Опять не понял, контроль корректности корреспонденции - это бизнес-логика, которая просто обязана пристутствать в системе, в прочем как и пересчет остатков. А Вы говорите о каких-то огрехах. И, опять же я не вижу, каким образом ее (бизнес-логики) присутствие в том или ином виде потребует отказаться от DRI?! ЗЫ. Возможно, я все-таки не понял, что Вы хотели сказать. Сорри за поздний ответ, но возможно еще интересно.... Мысль в том, что RI - часть бизнес-правил, бизнес-ограничений в целом, причем по объему - очень небольшая часть. С точки зрения ERP нарушение RI ничем не отличается от нарушения корееспонденции счетов - транзакция отвергается. Так зачем размазывать контроль бизнес-ограничений: проверять RI через DRI в СУБД, а корреспонденцию - на сервере приложений? Тем более, что реакцию на эксепшион СУБД все равно нужно как-то обработать в приложении. Ну будет СУБД ловить 5% нарушений при попытке влезть в СУБД в обход ERP - а база все равно станет не корректной из-за нарушения корреспонденции. Так что архитектура с отказом от ФК в СУБД вполне логична, если существует слой контроля бизнес-ограничений в приложении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2006, 10:40 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
ModelRМысль в том, что RI - часть бизнес-правил, бизнес-ограничений в целом, причем по объему - очень небольшая часть. На счет "небольшая" позволю себе не согласится с Вами. "небольшая" может быть только в смысле отсутствия кодирования при использовании DRI, но не по смысловой нагрузке. ModelRС точки зрения ERP нарушение RI ничем не отличается от нарушения корееспонденции счетов - транзакция отвергается. Так зачем размазывать контроль бизнес-ограничений: проверять RI через DRI в СУБД, а корреспонденцию - на сервере приложений? Тем более, что реакцию на эксепшион СУБД все равно нужно как-то обработать в приложении. Вот и я всегда спрашиваю - а зачем размазывать?! Для тех, кто не в курсе - я противник пихания N-звенок куда не поподя. Почему бы ВСЕ не контролировать в хранилище?! Что-то с помощью DRI, а что-то с помощью хп, триггеров и т.п., реализующих требования бизнес-логики. Пусть Ваш "средний слой" будет клиентом самодостаточного хранилища, дергающим нужные хп (пакеты) для выполнения той или иной бизнес-процедуры. В принципе, OEBS - это PL\SQL клиент, где подавляющее большинство логики реализовано имеено в пакетах. ModelRНу будет СУБД ловить 5% нарушений при попытке влезть в СУБД в обход ERP - а база все равно станет не корректной из-за нарушения корреспонденции. СУБД может\должна ловить до 100% нарушений!!! ModelRТак что архитектура с отказом от ФК в СУБД вполне логична, если существует слой контроля бизнес-ограничений в приложении. Не хочу снова разводить флейм, но логики в переносе операций обработки данных подальше от самих данных я не вижу. Флэйм можно почитать здесь: Странные мысли о 3-звенном приложении Все вышесказанное - IMHO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2006, 11:18 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
pkarklinДля тех, кто не в курсе - я противник пихания N-звенок куда не поподя. Хорошо рассуждаете. Только обсуждаемая проблема никак конечно с n-звенностью приложений не связана. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2006, 11:23 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
ModelR Так что архитектура с отказом от ФК в СУБД вполне логична, если существует слой контроля бизнес-ограничений в приложении. Поддержу. Судя по экземпляру OEBS, который крутится у нас, 95% проблем связаны с кривой "кастомизацией". Приятные вещи вылезают, когда, например вместо pub-пакетов используются pvt-пакеты, и при обновлении системы форма просто разваливается. Отчеты, "заточенные" на определенные значения полей, выдают "прекрасные" результаты. Глюки самой системы тоже присутствуют, но они практически все были вылечены обновлениями. Я бы не стал так уж раздувать проблему отсутствия ФК, по моим наблюдениям, залезая ниже определенного уровня API, наши мастера selecta'а и insert'а многое могут угробить, да так талантливо, что никакие ФК не спасут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2006, 11:33 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
iscrafm pkarklinДля тех, кто не в курсе - я противник пихания N-звенок куда не поподя. Хорошо рассуждаете. Только обсуждаемая проблема никак конечно с n-звенностью приложений не связана. Эээ... ModelR аргументировал отсутвие DRI в хранилище присутсвием среднего звена, реализующего все и вся, т.е. отказом от размазывания реализации ограничений на разных уровнях системы. Поэтому я и спросил\сказал, а задлянафига вообще такое размазывание, имея в виду N-звенки, приведя тред с обсуждением на эту тему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2006, 11:47 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
ModelRМысль в том, что RI - часть бизнес-правил, бизнес-ограничений в целом, причем по объему - очень небольшая часть. Можно так считать. Причем следует отметить, что эта часть также неочевидная в проявлениях и плохо проверяемая при разработке. ModelRТак зачем размазывать контроль Потому что для надежности решения крайне рекомендуется проверять везде, где только возможно и не слишком напряжно. И из занятий репликацией, и из других работ я вынес простой принцип: проверок много не бывает. Также, надеюсь, Вы согласитесь с тем, что для столь масштабного проекта надежность каждой детали имеет значение "выше среднего". По сути, Вы говорите примерно следующее: если LookupComboBox не способен выбрать запись, отсутствующую в справочнике, делать внешний ключ на этот справочник необязательно, все и так будет хорошо. В чем-то это верно, но на практике рано или поздно вылезет проблема, например при удалении из этого справочника. ModelRНу будет СУБД ловить 5% нарушений при попытке влезть в СУБД в обход ERP - а база все равно станет не корректной из-за нарушения корреспонденции. По этой логике мыться бессмысленно, потому как в итоге все равно умрешь. Нужно проверять и то, и другое, и третье. Есть возможность проверить это "третье" исключительно дешево и надежно. И отказываться от этого - примерно так же оправданно, как прыгать с парашютом без запаски. ModelRТак что архитектура с отказом от ФК в СУБД вполне логична, Не вижу "логичности". Вы доказываете, что она не "однозначно самоубийственна" - и это так. Она просто глупа и неудачна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2006, 11:59 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
OA UserПоддержу. Судя по экземпляру OEBS, который крутится у нас, 95% проблем связаны с кривой "кастомизацией". Нисколько не спорю. И кому легче от того, что знают, что ругать надо именно "кастомизаторов"? Допустим, сейчас кто-нибудь подойдет и вылечит диск на Вашем сервере NDD версии 4.0 - Вам что, станет легче от мысли, что дядя Петя Нортон тут не при чем? OA UserЯ бы не стал так уж раздувать проблему отсутствия ФК, Вопрос в том, что значит "так уж". Можно жить без ФК, без транзакций, без чего угодно. Можно подменять их самописками. Вопрос лишь в качестве результата. Прямо сейчас у меня есть конкретные наблюдения. Есть хранилище под OLAP, закачиваемое из OEBS. Есть цифры, которые сходятся с ожидаемыми заказчиком. И есть некоторые записи/цифры, с которыми неизвестно чего делать, потому как внешние ключи попросту битые. OA Userпо моим наблюдениям, залезая ниже определенного уровня API, наши мастера selecta'а и insert'а многое могут угробить, да так талантливо, что никакие ФК не спасут. Могут. И если им придется думать еще и о внешних ключах - наверняка угробят. Так хоть есть шанс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2006, 12:08 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
OA UserСудя по экземпляру OEBS, который крутится у нас, 95% проблем связаны с кривой "кастомизацией". Приятные вещи вылезают, когда, например вместо pub-пакетов используются pvt-пакеты, и при обновлении системы форма просто разваливается. Отчеты, "заточенные" на определенные значения полей, выдают "прекрасные" результаты. Глюки самой системы тоже присутствуют, но они практически все были вылечены обновлениями. Опять позволю себе процитировать классика: "Нечего на зеркало пинять, коль рожа крива" - читай "кривая" архитектура хранилища. Каковы бы не были по уровню знаний\опыта мои разработчики, реализующие бизнес-логику в хп, они никогда не смогут по своей невнимательности\неопытности удалить шапку документа, предварительно не удалив табличную часть, или удалить клиента, у которого есть заказ. Т.е. обойти ограничения, заложенные в базовую архитектуру хранилища. OA UserЯ бы не стал так уж раздувать проблему отсутствия ФК, по моим наблюдениям, залезая ниже определенного уровня API, наши мастера selecta'а и insert'а многое могут угробить, да так талантливо, что никакие ФК не спасут. Спору нет. Но если им еще придеться в каждой процедуре "вспоминать" о необходимости выполнения проверок RI, которую не поддерживает хранилище, то они точно забудут это сделать! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2006, 12:21 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
softwarer По сути, Вы говорите примерно следующее: если LookupComboBox не способен выбрать запись, отсутствующую в справочнике, делать внешний ключ на этот справочник необязательно, все и так будет хорошо. В чем-то это верно, но на практике рано или поздно вылезет проблема, например при удалении из этого Тут ведь и другой вариант возможен - система сделает запись в справочнике неактивной, и ничего удалять не придется, проблема, соответственно , не вылезет. Конечно, средствами БД удалить запись запросто, а на уровне бизнес-логики это уже не сделаешь. А мне, как пользователю системы, это ведь безразлично, правда? Главное, что ненужная для выборки запись в эту выборку не попадет. Пример тривиальный, но показательный весьма. Другой случай. Разработал один коллега модуль, по функционалу похожий на concurrent manager. Т.е. сам запускает нужное количество запросов, сам ждет их выполнения и т.д. Целостность не нарушил. Все бы хорошо, но с родным менеджером в итоге случается dead lock со всеми вытекающими последствиями. Сделано было только из-за того, что человек не стал с наборами запросов разбираться. Переделали, в итоге обошлись без дополнительного кода вообще. Я хочу сказать, что дорабатывая некую ERP-систему, надо придерживаться определенных правил игры, в которых информация о наличии/отсутствии ФК, в частности, не столь существенна. Повторюсь, но, по-моему, проверка заранее непротиворечивых данных не всегда имеет смысл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2006, 12:40 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
pkarklinЭээ... ModelR аргументировал отсутвие DRI в хранилище присутсвием среднего звена, реализующего все и вся, т.е. отказом от размазывания реализации ограничений на разных уровнях системы. Поэтому я и спросил\сказал, а задлянафига вообще такое размазывание, имея в виду N-звенки, приведя тред с обсуждением на эту тему. Все и вся реализовать на среднем уровне нет возможности, в этом я с Вами согласен. А n-звенки призваны решать другие задачи. ModelR , спрогнозируйте поведение системы на рисунке ниже. В различных ситуациях, в зависимости от того, кто первый стартанет транзакцию. Ведь практически все называют множество серверов приложений в качестве средства масштабирования, и это нормально. Вот только с целостностью данных (не путайте с правильностью транзакций с точки зрения бизнес-логики)в этом случае нужно что-то делать. Иначе и через рекомендуемый API такого понаделают. Или будете играться уровнями изоляции сводя на нет достигнутую таким образом производительность? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2006, 12:47 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
pkarklin Опять позволю себе процитировать классика: "Нечего на зеркало пинять, коль рожа крива" - читай "кривая" архитектура хранилища. Каковы бы не были по уровню знаний\опыта мои разработчики, реализующие бизнес-логику в хп, они никогда не смогут по своей невнимательности\неопытности удалить шапку документа, предварительно не удалив табличную часть, или удалить клиента, у которого есть заказ. Т.е. обойти ограничения, заложенные в базовую архитектуру хранилища. Отлично, но здесь аналогичные ограничения заложены не в базовую архитектуру хранилища, а выражены в соответствующих пакетах, которыми пользуется разработчик и т.д. Если их изучить и корректно использовать, то почему Вы потеряете в надежности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2006, 12:52 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
OA UserОтлично, но здесь аналогичные ограничения заложены не в базовую архитектуру хранилища, а выражены в соответствующих пакетах, которыми пользуется разработчик и т.д. Если их изучить и корректно использовать, то почему Вы потеряете в надежности? На протяжении уже нескольких страниц я пытаюсь донести, что проблема кроется как раз в этом самом "Если..."! Т.е. такое хранилище имеет УСЛОВНУЮ поддержку целостности. А это, с моей точки зрения, является грубейшим просчетом проектирования. А к чему такие "просчеты" приводят, уже говорилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2006, 12:59 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
pkarklin На протяжении уже нескольких страниц я пытаюсь донести, что проблема кроется как раз в этом самом "Если..."! Т.е. такое хранилище имеет УСЛОВНУЮ поддержку целостности. А это, с моей точки зрения, является грубейшим просчетом проектирования. А к чему такие "просчеты" приводят, уже говорилось. А с моей точки зрения это самое "Если..." и есть критерий знания разработчиком системы в целом, не СУБД, не средств разработки, не сетевых там каких-то вещей, а именно системы. Все неудачные примеры, которые я приводил, сделаны-то людьми весьма грамотными с точки зрения просто разработки на PL/SQL в частности. Они с Oracle не один год работали, но подход, к которому они привыкли, механически перенесенный в среду определенной системы, дает совершенно непредсказуемые результаты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2006, 13:16 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
softwarer ModelRТак зачем размазывать контроль Потому что для надежности решения крайне рекомендуется проверять везде, где только возможно и не слишком напряжно. И из занятий репликацией, и из других работ я вынес простой принцип: проверок много не бывает. Также, надеюсь, Вы согласитесь с тем, что для столь масштабного проекта надежность каждой детали имеет значение "выше среднего". .Чем плохи общие рассуждения? Их легко довести до абсурда :). Для надежности может и проверку CRC всюду собственную засандалить. softwarer По сути, Вы говорите примерно следующее: если LookupComboBox не способен выбрать запись, отсутствующую в справочнике, делать внешний ключ на этот справочник необязательно, все и так будет хорошо. В чем-то это верно, но на практике рано или поздно вылезет проблема, например при удалении из этого справочника.Нет, я говорю, что удаление - также операция среднего слоя, и он проверяет все бизнес-правила, связанные с удалением, включая наличие ссылок на удаляемый объект. ФК СУБД в этом случае греет воздух вхолостую - проверяет уже проверенное. Его единственное назначение - а вдруг кто пойдет в обход? - но не будем повторяться. Кстати, даже удаление может быть связано с логикой, не доступной DRI. Скажем, если ссылающийся объект "дешевый" - то CASCADE его, а иначе RESTRICT. softwarer ModelRНу будет СУБД ловить 5% нарушений при попытке влезть в СУБД в обход ERP - а база все равно станет не корректной из-за нарушения корреспонденции. По этой логике мыться бессмысленно, потому как в итоге все равно умрешь. Нужно проверять и то, и другое, и третье. Есть возможность проверить это "третье" исключительно дешево и надежно. И отказываться от этого - примерно так же оправданно, как прыгать с парашютом без запаски. Не внимательны, коллега. Вопрос не нужно/ненужно, а где проверять и сколько раз. Следуя Вашим примерам - Иногда нужно все-таки выходить из-под душа. А если повесить десяток запасок, боюсь будет тоже, что не брать парашют вообще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2006, 13:17 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
OA UserА с моей точки зрения это самое "Если..." и есть критерий знания разработчиком системы в целом, не СУБД, не средств разработки, не сетевых там каких-то вещей, а именно системы. Все неудачные примеры, которые я приводил, сделаны-то людьми весьма грамотными с точки зрения просто разработки на PL/SQL в частности. Они с Oracle не один год работали, но подход, к которому они привыкли, механически перенесенный в среду определенной системы, дает совершенно непредсказуемые результаты. Я не пытаюсь оспаривать Вашу точку зрения. Я излагаю свою, без привязки к какой-то конкретной ERP системе. И мои высказывания касаются моего мнения об общих подходах к проектирования такой ответственной части, как хранилище системы класса ERP. Сабжевый вопрос касался имеено общих подходов, так как "под раздачу" попали крупнейшие на сегодняшний день ERP системы. Я считаю, что такое понятие как Разработчик хранилища, а еще круче Архитектор хранилища не должно иметь к себе приписку с названием и условностями той или иной системы. Я готов смириться с особенностями некоторых ERP систем, но вот с "условностями поддержки целостности", извините меня, смириться не могу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2006, 13:36 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
iscrafm ModelR , спрогнозируйте поведение системы на рисунке ниже. В различных ситуациях, в зависимости от того, кто первый стартанет транзакцию. Ведь практически все называют множество серверов приложений в качестве средства масштабирования, и это нормально. Вот только с целостностью данных (не путайте с правильностью транзакций с точки зрения бизнес-логики)А как не путать-то? Что СУБД по счастью умеет декларативно - это целостность, а остальное - не целостность? iscrafmв этом случае нужно что-то делать. Иначе и через рекомендуемый API такого понаделают. Или будете играться уровнями изоляции сводя на нет достигнутую таким образом производительность? В вашем примере через аппсервер выполняется нативный кода СУБД. по сути это работа в обход аппсервера. Результат ИМХО тот же - 95% бизнес правил остаются без внимания. Или я чего-то не понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2006, 13:38 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
ModelRА как не путать-то? Что СУБД по счастью умеет декларативно - это целостность, а остальное - не целостность? Есть отличие между неправильной транзакцией (исправимо) и безадресной транзакцией. Вам о чем-то говорит платеж клиента {90676D43-82AD-11DA-947D-0020ED19160F}? Или так - CST00128, если суррогатные ключи не любите. ModelRВ вашем примере через аппсервер выполняется нативный кода СУБД. по сути это работа в обход аппсервера. Результат ИМХО тот же - 95% бизнес правил остаются без внимания. Или я чего-то не понял? Сервер приложений с БД в конечном итоге общается на понятном ей языке. Я привел пример конечного итога, упустив моменты, каким образом этот код образовался. В данном вопросе это не важно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2006, 13:51 |
|
||
|
Внешние ключи в OEBS, SAP, Axapta и тд.
|
|||
|---|---|---|---|
|
#18+
iscrafmЕсть отличие между неправильной транзакцией (исправимо) и безадресной транзакцией. Вам о чем-то говорит платеж клиента {90676D43-82AD-11DA-947D-0020ED19160F}? Или так - CST00128, если суррогатные ключи не любите.Не понял разницу. Безадресная исправима проставлением нужного адреса, или добавлением адресата - смотря как понять"безадресная". Вот скажите, правило "Структура изделия не содержит циклов" это разве не целостность данных? Или пока соотвествующая кляуза не появится в SQL - оно и не целостность? iscrafm Сервер приложений с БД в конечном итоге общается на понятном ей языке. Я привел пример конечного итога, упустив моменты, каким образом этот код образовался. В данном вопросе это не важно. ИМХО важно. Скорее всего этот код будет частью некоторых транзакций, которые будут содержать блокировки и проверки, что и обеспечит целостность. Насчет как блокировать тут коллеги по соседству бодаются . И если аппсервер имеет собственный механизм блокировок, то они просто не видимы для СУБД и тут даже ФК не спасет при работе мимо приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2006, 14:37 |
|
||
|
|

start [/forum/topic.php?fid=29&msg=33589269&tid=1528199]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
127ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
2ms |
| others: | 215ms |
| total: | 416ms |

| 0 / 0 |
