Тема: Де краще порівнювати дані, що зберігаються в базі даних?
Привіт. Я колись вже запитував щось подібне, але не зовсім таке саме.
Я завантажую велику кількість даних з інтернету, далі конвертую ці данні у 64 бітний хеш і записую в базу даних для того, аби коли я завантажу ще одну купу даних, то щоб не доводилось шукати кеш знову для усієї-преусієї купи, а просто використовувати вже збережені хеші.
Ці хеші мені потрібні для побітового порівняння пари хешів, якщо різниця між хешами менше п'яти бітів, то необхідно показати ці два файла в моїй мегапрогі, аби я своїми очима міг переконатись, чи ці файли однакові, і лише з маленькою відмінністью, чи це різні файли, котрі просто схожі трохи.
База даних містить записи, котрі складаються з
індекс
шлях до файлу в файловій системі
хеш (строка з 64 символів)
флажок, котрий містить інфу, використаний цей файл чи не використаний
Так от. Після завантаження усіх файлів треба перевірити кожен новий файл з усіма іншими, аби виключити дублікати.
І от де мені це краще робити?
Якщо в програмі, то спочатку мені треба буде завантажувати всі старі записи, котрі містяться в базі, перевіряти кожен новий файл з кожним тим, що вже є в базі, виключити з нових файлів дублікати, і потім записати хеші нових файлів в базу даних.
Якщо в базі даних, то мені треба завантажити хеші нових файлів в базу даних, запустити процедуру в базі даних, котра б перевірила усі нові хеші з старими (а як позначити нові хеші? потрібно запам'ятовувати час додавання в базу даних), і потім повертати масив пар записів (типу, массив массивів, кожний елемент котрого буде містити два записи, у котрих різниця між хешами <5)
Як то краще і розумніше зробити, бо я не знаю?