Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.10.2017, 00:43   #1
tName
Новичок
Джуниор
 
Регистрация: 20.10.2017
Сообщений: 1
Вопрос Подскажите пожалуйста как лучше и правильнее реализовать хранение и обработку

Здравствуйте.

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

Есть программка-скрипт на python, которая регулярно (раз в час) сканирует файлы на диске и собирает данные - название файла, размер файла, его хэш. Затем эти данные заносятся в базу данных MySQL: датавремя, действие, имя файла, размер файла, хэш файла.
ДатаВремя - время, когда были собраны данные о файле.
Действие - создание нового файла, изменение файла или удаление файла.
Имя файла, размер файла и хэш - соответствующие данные.

Каков алгоритм определения действия с файлом?
1) Из базы делается выборка среза последних данных о файлах во временную таблицу.
2) Ищется запись о заданном файле во временной таблице.
Если не нашли, это означает "создание нового файла". Делаем запись в БД, где Действие = создание.
3) Если запись о заданном файле есть во временной таблице, то сравниваются остальные данные (размер и хэш). Если совпадают не полностью, это означает "изменение файла". Делаем запись в БД, где Действие = изменение.
4) Тут алгоритм определения, что файл был удалён.

Есть возможность организовать этот алгоритм в самой программе-скрипте и в самой базе данных MySQL с помощью процедуры. Где лучше реализовать этот функционал?
Мне думается, что в БД будет быстрее отрабатывать. Но правильно ли вешать на БД такую работу?
tName вне форума Ответить с цитированием
Старый 20.10.2017, 09:51   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Если получится быстрей, то правильно. Будет ли быстрей? Реализуй два варианта и сравни. Если нагрузить базу, то придется в каком то виде занести инфу о текущем состоянии файлов в некую таблицу базы. А дальше update и insert.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как лучше реализовать vik_orel Общие вопросы .NET 4 28.02.2015 00:32
Как лучше реализовать. Roofslover Visual C++ 0 22.11.2011 21:28
Подскажите пожалуйста на каком языке реализовать? wolfcruel Помощь студентам 1 05.07.2009 18:20
Подскажите пожалуйста, Как реализовать нумерацию. Условие внутри. vladtr Microsoft Office Excel 2 10.06.2009 15:36