|
|
|
правильна ли стратегия разработки? или я не туда забрел?
|
|||
|---|---|---|---|
|
#18+
iscrafm это не экзотическое требование, а обыденный аттрибут любой нормальной системы :) какая нормальная система не знает то, что у нее может запросить конкретный пользователь?[/quot] Конечно знает, но ей надо знать, а смотрел ли и когда, жели бы вы работали в более или менее серьезной конторе - там бы вы с этим столкнулись - т.к. наличие ауидита - это аттрибут любой мало-мальски серьезной системы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 00:51 |
|
||
|
правильна ли стратегия разработки? или я не туда забрел?
|
|||
|---|---|---|---|
|
#18+
spей надо знать, а смотрел ли и когда, жели бы вы работали в более или менее серьезной конторе - там бы вы с этим столкнулись - т.к. наличие ауидита - это аттрибут любой мало-мальски серьезной системы в "серьезных конторах" не работал, но что-то мне подсказывает, что полезно знать кто, что и когда сделал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 00:58 |
|
||
|
правильна ли стратегия разработки? или я не туда забрел?
|
|||
|---|---|---|---|
|
#18+
spКонечно знает, но ей надо знать, а смотрел ли и когда, жели бы вы работали в более или менее серьезной конторе - там бы вы с этим столкнулись - т.к. наличие ауидита - это аттрибут любой мало-мальски серьезной системы Наличие аудита -- да, но аудит SELECT -- это экзотика. Причём вредная, так как сильно бьёт по производительности. Аудируют модификации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 08:35 |
|
||
|
правильна ли стратегия разработки? или я не туда забрел?
|
|||
|---|---|---|---|
|
#18+
mir_unregistered Наличие аудита -- да, но аудит SELECT -- это экзотика. Причём вредная, так как сильно бьёт по производительности. Аудируют модификации. Не знаю насчет экзотики, но в Oracle например есть. Насчет производительности - так за все надо платить. Тем паче, что аудит, как правило, используют не постоянно, а включают на достаточно короткое время в случае появления каких-то подозрений ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 10:51 |
|
||
|
правильна ли стратегия разработки? или я не туда забрел?
|
|||
|---|---|---|---|
|
#18+
sp для обслуживания каждой таблички существует как-минимум 4 CRUD-sp уже сейчас сложно ориетироваться в такой системе, а что же будет дальше? Это правильный путь разработки? Был следующий опыт: Дабы не мучиться с поддержкой CRUD-хп на первых циклах разработки, встал вопрос "как в последствии можно наиболее быстро и безболезненно перейти с прямых операций с таблицами на CRUD-хп". Во общем то все довольно логично: CRUD-хп для всех таблиц практически идентичны, так почему бы их не сгенерить впоследствии, когда система выйдет из разряда прототипа? Взял NHibernate в качестве ORM. С маппингом не все так просто оказалось. Дело в том, что если в маппинге используется inheritance, то если в последствии потребуется использование sql-insert/update/delete, то NH будет выполнять вызов этих действий для каждого уровня иерархии. Но тут вопрос к реализации CRUD - идет ли вызов create предка внутри create потомка. Если вызов плоский - то проблем нет, если нет - необходимо добиться от NH единственного вызова create потомка. Во общем, по сути получалось два разных маппинга в случае прямых insert-ов и insert-ов через CRUD. Решил шалонизировать маппинг через XSLT. Т.е. маппинг у меня в конечном итоге генерился и включался в ресурсы при компиляции (msbuild post build events). В одном случае маппинг генерился для иерархии таблиц, в случае CRUD маппинг генерился на view, представляющий собой join иерархии классов. Написал unit tests, сгенерил и подставил маппинг для случая без CRUD, прогнал тесты. Потом на каком то этапе переходим на CRUD хп: сгенерили CRUD-хп. сгенерили NH-маппинг для CRUD, подставили его. прогнали unit tests. ... В конце концов можно добиться того, что при развертывании выбирать будет ли система работать через CRUD или через прямые операции с таблицами. Требования бывают разные. С CRUD-ом, например, достаточно сложно обеспечить полномасштабное использование кеша NH. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 11:46 |
|
||
|
правильна ли стратегия разработки? или я не туда забрел?
|
|||
|---|---|---|---|
|
#18+
tru55включают на достаточно короткое время в случае появления каких-то подозрений подозрение на счет того, смотрел ли человек на экран или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 11:51 |
|
||
|
правильна ли стратегия разработки? или я не туда забрел?
|
|||
|---|---|---|---|
|
#18+
аудит можно сделать и на уровне app-сервера/среднего слоя. это вопрос требований. в MSSQL, select и прочую "экзотику" можно, например, логировать через профайлер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 11:53 |
|
||
|
правильна ли стратегия разработки? или я не туда забрел?
|
|||
|---|---|---|---|
|
#18+
АнатоЛойЯ не говорил, что требование нужно реализовывать самому, это требование может предъявляться к системе. С помощью каких технологий и инструментов система её закрывает - это уже реализация.мы и говорим о реализации. Конкретно, о реализации логирования вызовов оператора SELECT посредством хранимых процедур, помните? В какую конкретно систему такие возможности встроены, чтобы их не надо было реализовывать самому, не подскажете? АнатоЛойА слабо под "существующим профайлером" пару сотен пользователей запустить, чтобы понять, какая редиска в 3 часа ночи сервак нагрузила?тот факт, что таблица лога в данном случае сто пудов станет узким местом не учитываем, да? сколько раз пара сотен пользователей обновит у себя оперативное представление? и каждый раз мы это будем логировать? сумасшествие какое то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 12:11 |
|
||
|
правильна ли стратегия разработки? или я не туда забрел?
|
|||
|---|---|---|---|
|
#18+
iscrafmtru55включают на достаточно короткое время в случае появления каких-то подозрений подозрение на счет того, смотрел ли человек на экран или нет? Не на экран, а на данные... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 12:23 |
|
||
|
правильна ли стратегия разработки? или я не туда забрел?
|
|||
|---|---|---|---|
|
#18+
tru55iscrafmtru55включают на достаточно короткое время в случае появления каких-то подозрений подозрение на счет того, смотрел ли человек на экран или нет? Не на экран, а на данные...и зачем это надо знать? хоть кто-нить может вразумительно ответить, а не на уровне общих рассуждений ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 12:29 |
|
||
|
правильна ли стратегия разработки? или я не туда забрел?
|
|||
|---|---|---|---|
|
#18+
egorych и зачем это надо знать? хоть кто-нить может вразумительно ответить, а не на уровне общих рассуждений Информация бывает открытая и закрытая (по крайней мере, для части публики). Способы скрыть инфу от "ненужных" глаз бывают разные, в том числе и аудит (в смысле логирования)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 12:51 |
|
||
|
правильна ли стратегия разработки? или я не туда забрел?
|
|||
|---|---|---|---|
|
#18+
tru55, если в системе у каждого клиента есть строго определенные полномочия на доступ к информации, то в чем полезность логирования селектов тоже не понятна. Логирование действий не обсуждается... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 12:55 |
|
||
|
правильна ли стратегия разработки? или я не туда забрел?
|
|||
|---|---|---|---|
|
#18+
tru55Информация бывает открытая и закрытая (по крайней мере, для части публики). Способы скрыть инфу от "ненужных" глаз бывают разные, в том числе и аудит (в смысле логирования)...вы издеваетесь? как логирование может чего-то скрыть? логирование фиксирует факт совершения операции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 13:27 |
|
||
|
правильна ли стратегия разработки? или я не туда забрел?
|
|||
|---|---|---|---|
|
#18+
iscrafm если в системе у каждого клиента есть строго определенные полномочия на доступ к информации, то в чем полезность логирования селектов тоже не понятна. Логирование действий не обсуждается... Для чего ставят видеокамеры в охраняемых местах, допустим, у сейфа с документами? Хотя вполне возможно, что есть охрана, которая кого не надо к сейфу не пустит. Дополнительная степень защиты от несанкционированного доступа. Если не смогли предотвратить, то сможем хотя бы поймать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 13:35 |
|
||
|
правильна ли стратегия разработки? или я не туда забрел?
|
|||
|---|---|---|---|
|
#18+
tru55Для чего ставят видеокамеры в охраняемых местах, допустим, у сейфа с документами? Хотя вполне возможно, что есть охрана, которая кого не надо к сейфу не пустит. Дополнительная степень защиты от несанкционированного доступа. Если не смогли предотвратить, то сможем хотя бы поймать...Вы точно издеваетесь. К вашему сведению, есть такая вещь как раздача прав доступа, в т.ч. на просмотр данных. Если не хотят, чтобы человек видел какие-то поля, ему их запрещают видеть. В вашей аналогии это будет так. Вместо того, чтобы выдать ключи от шкафа только доверенным людям, вы сначала раздаёте ключи всем подряд (или вовсе не закрываете дверцу), а потом через видеокамеру пытаетесь поймать тех, кто в шкаф смотрит, не имея на это оснований. Бред. Полный бред. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 13:57 |
|
||
|
правильна ли стратегия разработки? или я не туда забрел?
|
|||
|---|---|---|---|
|
#18+
mir_unregistered Вы точно издеваетесь. К вашему сведению, есть такая вещь как раздача прав доступа, в т.ч. на просмотр данных. Если не хотят, чтобы человек видел какие-то поля, ему их запрещают видеть. Да ну? А на кой тогда имеется возможность следить за изменениями данных, если их изменяют только те, кто имеет право? mir_unregistered В вашей аналогии это будет так. Вместо того, чтобы выдать ключи от шкафа только доверенным людям, вы сначала раздаёте ключи всем подряд (или вовсе не закрываете дверцу), а потом через видеокамеру пытаетесь поймать тех, кто в шкаф смотрит, не имея на это оснований. Как известно, любая защита обходится за конечное время. В противном случае такого понятия, как кража информации просто не существовало бы. mir_unregistered Бред. Полный бред. Я уже упомянул о том, что в Oracle реализована возможность следить за селектами. Подозреваю, что и в других СУБД тоже (во всяком случае в некоторых). Значит, либо бредят куча производителей этих баз, либо кто-то другой... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 14:16 |
|
||
|
правильна ли стратегия разработки? или я не туда забрел?
|
|||
|---|---|---|---|
|
#18+
tru55mir_unregistered Вы точно издеваетесь. К вашему сведению, есть такая вещь как раздача прав доступа, в т.ч. на просмотр данных. Если не хотят, чтобы человек видел какие-то поля, ему их запрещают видеть. Да ну? А на кой тогда имеется возможность следить за изменениями данных, если их изменяют только те, кто имеет право?вы правда не понимаете, зачем следят за обновлениями данных? Потому что даже те, кто имеет право на обновление, могут внести некорректные данные. Как эта ситуация отображается на логирование выборок? tru55Я уже упомянул о том, что в Oracle реализована возможность следить за селектами. следить или логировать? разница ощутимая ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 14:48 |
|
||
|
правильна ли стратегия разработки? или я не туда забрел?
|
|||
|---|---|---|---|
|
#18+
egorychtru55mir_unregistered Вы точно издеваетесь. К вашему сведению, есть такая вещь как раздача прав доступа, в т.ч. на просмотр данных. Если не хотят, чтобы человек видел какие-то поля, ему их запрещают видеть. Да ну? А на кой тогда имеется возможность следить за изменениями данных, если их изменяют только те, кто имеет право?вы правда не понимаете, зачем следят за обновлениями данных? Потому что даже те, кто имеет право на обновление, могут внести некорректные данные. Как эта ситуация отображается на логирование выборок? Если данные изменены ошибочно, то причем тут логирование (если опять же, не брать в расчет "разбор полетов")? Для возврата к прежнему состоянию (опять же на примере Oracle) есть: 1. rollback 2. разные формы flashback 3. LogMiner 4. восстановление из backup egorych tru55Я уже упомянул о том, что в Oracle реализована возможность следить за селектами. следить или логировать? разница ощутимая Под следить я имел ввиду логировать, ибо следить - это в настоящем времени, а логирование позволяет разбираться и в прошедшем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 15:01 |
|
||
|
правильна ли стратегия разработки? или я не туда забрел?
|
|||
|---|---|---|---|
|
#18+
tru55Если данные изменены ошибочно, то причем тут логирование (если опять же, не брать в расчет "разбор полетов")? логируют как раз для разбора полётов, это же очевидно. tru55egorych tru55Я уже упомянул о том, что в Oracle реализована возможность следить за селектами. следить или логировать? разница ощутимая Под следить я имел ввиду логировать, ибо следить - это в настоящем времени, а логирование позволяет разбираться и в прошедшем.чего можно разобрать, если мы знаем, что пользователь Х 197 раз в день обновил у себя в клиентской программе грид с данными? зачем нужны эти сведения? что полезного мы можем из них почерпнуть? и стоит ли ради их получения увеличивать время разработки и просаживать производительность? - вот вопросы, ответы на которые хочется получить, а не общие рассуждения, что "мол, надо" и "мол, сделано". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 15:21 |
|
||
|
правильна ли стратегия разработки? или я не туда забрел?
|
|||
|---|---|---|---|
|
#18+
egorychtru55Если данные изменены ошибочно, то причем тут логирование (если опять же, не брать в расчет "разбор полетов")? логируют как раз для разбора полётов, это же очевидно. Неочевидно. Например когда-то имел дело с системой (разрабатывал в том числе), в которой на критические таблицы были навешаны триггера, переносившие при UPDATE/DELETE предыдущую версию данных в исторические таблицы. Эти записи использовались как для разбора полетов, так и для упрощения восстановления предыдущего состояния. К слову сказать, в Oracle 11 реализована похожая вещь на системном уровне. egorych чего можно разобрать, если мы знаем, что пользователь Х 197 раз в день обновил у себя в клиентской программе грид с данными? зачем нужны эти сведения? что полезного мы можем из них почерпнуть? и стоит ли ради их получения увеличивать время разработки и просаживать производительность? - вот вопросы, ответы на которые хочется получить, а не общие рассуждения, что "мол, надо" и "мол, сделано". 1. здесь рассматривается достаточно узкий случай. Как правило, к базе можно доступиться не только через разработанную клиентскую программу, но и другими инструментами 2. для чего - я уже сказал выше - доп. уровень защиты 3. по поводу производительности: - поскольку это логирование включается периодически, то влияние не столь велико - есть куча не сильно нагруженных систем, на которых эта доп. добавка просто будет незаметна - за любой сервис надо платить. Скажем, в Oracle с 10 версии по умолчанию работает постоянный сбор статистики работы, что можно использовать для мониторинга производительности базы, отлова "тяжелого" SQL и проч. Естественно, это доп. нагрузка на сервер. Поэтому, если производительность критична, то эту систему отключают, теряя при этом упомянутые удобства 4. "сделано" - это не общие рассуждения. Если люди реализовывали это на уровне СУБД (Oracle), значит подобная вещь имеет спрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 15:40 |
|
||
|
правильна ли стратегия разработки? или я не туда забрел?
|
|||
|---|---|---|---|
|
#18+
tru55Например когда-то имел дело с системой (разрабатывал в том числе), в которой на критические таблицы были навешаны триггера, переносившие при UPDATE/DELETE предыдущую версию данных в исторические таблицы. Эти записи использовались как для разбора полетов, так и для упрощения восстановления предыдущего состояния. это одно и то же )) решение о восстановлении предыдущего состояния принимается по результатам разбора )) tru55К слову сказать, в Oracle 11 реализована похожая вещь на системном уровне. плюс Ораклу за это. Но этот вопрос не так интересен, потому что понятен смысл такого логирования. Он имеет право на жизнь и достаточно востребован, чтобы его реализовывать, как с использованием системных средств, так и самодельно tru551. здесь рассматривается достаточно узкий случай. Как правило, к базе можно доступиться не только через разработанную клиентскую программу, но и другими инструментами 2. для чего - я уже сказал выше - доп. уровень защитынормальная система разграничения доступа решает эти проблемы значительно проще и на мой вкус, правильней воспользоваться ей, чем городить свой велосипед. 3. по поводу производительности: >> - поскольку это логирование включается периодически, то влияние не столь велико - вот с какого, интересно? если логирование производится в момент, когда возникли подозрения, то проще смотреть permissions пользователя/группы пользователей, чем запускать логирование, неизвестно, как долго придётся ждать, когда в следующий раз будет вызвана хранимая процедура именно тем пользователем, которому вызывать её не положено, и остальные будут испытывать неудобства всё это время совершенно незаслуженно. Потом, если уж человек добрался до базы через другой инструмент, то уж наверное он сообразит сделать SELECT напрямую, не используя хранимую процедуру, то есть этот инструмент защиты будет обойдён. Так в чём же смысл, я вас спрашиваю? >> - есть куча не сильно нагруженных систем, на которых эта доп. добавка просто будет незаметна - имхо, в несильно нагруженных системах тем более нет необходимости логировать селекты в хранимках, там и так можно разобраться. >> - за любой сервис надо платить. Скажем, в Oracle с 10 версии по умолчанию работает >> постоянный сбор статистики работы, что можно использовать для мониторинга >> производительности базы, отлова "тяжелого" SQL и проч. Естественно, это доп. нагрузка на >> сервер. Поэтому, если производительность критична, то эту систему отключают, теряя при этом >> помянутые удобства - не видите здесь противоречия? чтобы отловить тяжёлый SQL мы добавляем в систему средство, которое заведомо утяжелит всю систему? tru554. "сделано" - это не общие рассуждения. Если люди реализовывали это на уровне СУБД (Oracle), значит подобная вещь имеет спросзнаете зачем? чтобы поменьше было велосипедов. Моё имхо в том, что подобное средство встроено в СУБД скорее для наладки производительности в помощь DBA, а не для реализации мифических дополнительных уровней защиты. Ну и маркетинговый ход, само собой: "вона чего мы умеем, ни у кого такого нет!" В этом смысле Oracle не сильно отличается от Microsoft. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 18:36 |
|
||
|
правильна ли стратегия разработки? или я не туда забрел?
|
|||
|---|---|---|---|
|
#18+
tru55egorych чего можно разобрать, если мы знаем, что пользователь Х 197 раз в день обновил у себя в клиентской программе грид с данными? зачем нужны эти сведения? что полезного мы можем из них почерпнуть? и стоит ли ради их получения увеличивать время разработки и просаживать производительность? - вот вопросы, ответы на которые хочется получить, а не общие рассуждения, что "мол, надо" и "мол, сделано". 1. здесь рассматривается достаточно узкий случай. Как правило, к базе можно доступиться не только через разработанную клиентскую программу, но и другими инструментамиэтот узкий случай и есть самая частая операция выборки данных из базы. Она выполняется по тыще раз на дню каждым пользователем и представления для таких гридов, как правило и являются одними из ( или даже самыми ) тяжёлыми выборками, а вы предлагаете к ним прикрутить ещё и лог. Кстати, ответов на вопросы я так и не получил )) ЗЫ сорри за многабукаф )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 18:40 |
|
||
|
правильна ли стратегия разработки? или я не туда забрел?
|
|||
|---|---|---|---|
|
#18+
iscrafmspей надо знать, а смотрел ли и когда, жели бы вы работали в более или менее серьезной конторе - там бы вы с этим столкнулись - т.к. наличие ауидита - это аттрибут любой мало-мальски серьезной системы в "серьезных конторах" не работал, но что-то мне подсказывает, что полезно знать кто, что и когда сделал. когда начинаются разборки кто слил конкурентам информацию - надо же знать кто смотрел, одну ли запись или просто делал выборку всех данных по-очереди если у вас такого не было, то это не означает что такого небывает ваабче - у нас в банке так и вычислили кто сливает информацию налево за деньги ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2009, 08:13 |
|
||
|
правильна ли стратегия разработки? или я не туда забрел?
|
|||
|---|---|---|---|
|
#18+
egorychи зачем это надо знать? хоть кто-нить может вразумительно ответить, а не на уровне общих рассуждений читайте выше - я описал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2009, 08:17 |
|
||
|
правильна ли стратегия разработки? или я не туда забрел?
|
|||
|---|---|---|---|
|
#18+
egorychtru55Информация бывает открытая и закрытая (по крайней мере, для части публики). Способы скрыть инфу от "ненужных" глаз бывают разные, в том числе и аудит (в смысле логирования)...вы издеваетесь? как логирование может чего-то скрыть? логирование фиксирует факт совершения операции. да и странно почему все привязались к логгированию - это одна из функций селект-хп основное ее назначение для каждой роли в системе выдавать свои данные и там не просто показать или непоказать колоначку - там бывает довольно таки сложная логика - т.к. роли разные и кормят их по-разному )))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2009, 08:19 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=36333184&tid=1542962]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
144ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 489ms |

| 0 / 0 |
