Журнал активности пользователей - что лучше - PullRequest
0 голосов
/ 18 мая 2011

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

Ответы [ 2 ]

1 голос
/ 18 мая 2011

Я думаю, что actionfilter, безусловно, самый чистый и лучший метод оценки, так как он находится на уровне приложений. Частично выгода от присутствия в нем - это управляемый код, и если что-то сломается, вы можете легко найти проблему. Также есть преимущество в том, что весь ваш код находится в одном месте.

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

0 голосов
/ 18 мая 2011

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

Что касается лучших практик, я бы не использовал ни один из этих подходов. Я бы настроил репликацию транзакций на другой сервер SQL. Этот подход будет работать вообще без ущерба для производительности. Журнал транзакций уже генерируется, и репликация просто запускает отдельный процесс, который читает этот журнал.

...