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

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

От Alexander Gusak (2:5020/175.2) к Alex Aka Parasite

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


From: "Alexander Gusak" <agusak@skengstroy.ru>

Wed Aug 26 2009 00:18, Alex Aka Parasite wrote to Alexander Gusak:

AAP> Кстати, слова "хэш" в проекте не было. Там были слова "исключить
AAP> возможность коллизий". Хэш видится быть примененным в данной задаче
AAP> лично мне. С интересом выслушаю другие варианты, сравнимые по
AAP> трудоемкости\быстродействию\человекомашиночасам для введения оных в
AAP> работу.

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

AAP> Желательно *разово* обработать уже имеющийся контент, результаты
AAP> покласть в базу, и далее оперировать только с ней (это было в проекте,
AAP> как и слово "желательно " а не "необходимо").

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

В принципе, теоретически видятся только два варианта, которые _могут_ быть
ответом на вопрос в том виде, как он сейчас задан. Использовать в виде
идентификатора само содержимое файла, если надо - страшно его зашифровав
каким-нибудь ГОСТом. Либо заложиться на предел количества файлов, заведомо на
три порядка больший их ожидаемого количества (чтобы если последствия и
наступят, то только для далеких потомков), ну 100 миллиардов скажем. И копать
в сторону perfect hash для такого множества, там уникальность будет доказуема.

Да, неоптимально по объему базы и производительности. А кто сказал, что любая
задача решается оптимально по произвольно выбранным критериям? Если у вас
критерий алгоритма - уникальность, значит производительность придется
вытягивать другими способами, аппаратными, организационными итд.

Я своим сотрудникам и заказчикам люблю повторять: "Любую работу можно
выполнить быстро, хорошо и дешево - только выберите из этого любые два".

С уважением
Александр Гусак

--- ifmail v.2.15dev5
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)

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

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

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

FGHI-url этого письма: area://RU.NETWORKS?msgid=2:5020/175.2+a55c4834