на главнуюВсе эхи RU.NETWORKS
войти ?

Re: Посоветовать хэш

От Alex Mizrahi (2:5020/400) к Alex Aka Parasite

В ответ на Заголовок предыдущего сообщения в треде (Имя Автора)


From: "Alex Mizrahi" <udodenko@users.sourceforge.net>

AAP> С самого начала надо планировать *отсутствие* оных.

Кому надо? В самой задаче наверняка хэши не присутствуют,
а нужно хранить данные, доставать, проверять и т.д.

AAP> Если оно таки появится - то это уже будет как минимум экцепшн в
AAP> проекте,

Что значит "экцепшн"? Просто должна быть штатная реакция на
случай коллизии.

AAP> Есть (сверять хэш покладаемого нового файла на совпадение с уже
AAP> существуюшими в базе - а их весьма много), но это шибко замедлит всю
AAP> работу проекта, ибо придется ПОСТОЯHHО рыться в базе на предмет
AAP> предыдущих хэшей.

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

AAP> Более того, это: а)не гарантирует таки отсутствия коллизий - а будет
AAP> обеспечивать их отлов и обработку по какому-то другому алгоритму, что
AAP> уже приводит к необходимости наличия минимум ДВУХ обработок

Да, надёжная схема требует двух обработок. Это так сложно реализовать?

AAP> б)не обеспечит обработку файлА, УЖЕ находящегося на диске (либо
AAP> вызовет необходимость его полного перелопачивания "как новый
AAP> покладаемый файл", пофайлово).

Шо? Перелопатить один раз аж 10 гигабайт данных -- да, это проблема...

AD>> Или просто для уникальности рассматривать хеш+номер объекта в базе.
AAP> Что мне даст знание, что номер 234234234 в базе совпадает по хэшу
AAP> ABCDE12345<итд> с номером 1010984398 в той же базе?

Ты, по видиму, испольуешь хэши как UID'ы файлов. Hаверняка эти UID'ы
берутся не с потолка, а каким-то образом генерятся. Андрей тебе предлагает
их генерить таким образом, чтобы они заведомо не совпадали.


--- ifmail v.2.15dev5.4
* Origin: Demos online service (2:5020/400)

Ответы на это письмо:

From: Username
Заголовок следующего сообщения в треде может быть длинным и его придется перенести на новую строку

From: Username
Или коротким

FGHI-url этого письма: area://RU.NETWORKS?msgid=<1187351575@killer>+04859804