Приветствую уважаемых знатоков и новичков
Имеется программа для работы с файлами. Собственно часть её работы - проверка файлов на уникальность и создание списков файлов.
Данные сохраняются в структуру данных, содержащую путь к файлу и его хеш. (примерно 150 символов в общем).
Проблема: При количестве файлов более 2,5 млн (100 гб файлов) программа потребляет более 2 гб памяти и вываливается в эксепшн (ограничение x86 программ).
Собственно я вижу два варианта решения проблемы:
1) Забитие данных в базу Sql и работа с ней (запросами). Но в этом случае страдает скорость при проверке и заполнении базы.
2) Разбитие данных на куски по алфавиту (ориентируемся на хеш) и обрабатывает только ту часть, что подпадает под условие. Но в это случае проблема решается % на 20 и нет никаких гарантий, что хеши на букву А не превысят цифру 2,5 млн файлов.
Прошу вашей оценки моих предположений. Так же жду ваших и буду очень благодарен ссылкам на схожие темы/решения/книги.