Re: Посоветовать хэш
От Alex Mizrahi (2:5020/400) к Alex Aka Parasite
В ответ на Заголовок предыдущего сообщения в треде (Имя Автора)
From: "Alex Mizrahi" <udodenko@users.sourceforge.net>
AAP> Рассматривались (как варианты с нулевой вероятностью ошибки) попытки
AAP> покладания в базу собственно контента как такового - но размер базы
AAP> получается совсем недетский, и поиск по ней - соответственный. :(
Гм, так задача в поиске больших объектов в базе? Это можно реализовать
очень просто, быстро и совершенно надёжно, с вероятность коллизий 0.
Спомощью тех же хэшей, просто не считай их уникальными. Hапример, в базе
данных хранятся пары (хэш, путь к файлу). В 99.99(9)% случаев оно будет
возвращать один или нуль результатов, т.о. производительность программы
будет определяться скорость поиска по хэшу. В случае если запрос вернёт
более одного результата, нужна вторая проверка -- для этого пересылается
сам контент (файлы, мелкие, как ты говоришь, так что это не проблема),
поднимаются с диска указанные базой данные (опять же не проблема),
сравниваются.
Положим, в 99.99% случаев поиск будет работать за 1 микросекудну, в худшем
случае
-- 10 миллисекунд. Итого, в среднем он будет работать за 2 микросекудны.
Есть более сложные ситуации, например, комьютер A даёт компьютеру Б хэш,
и компьютер Б должен получить объект у компьютера В по этому хэшу, они
тоже имеют простые и быстрые решения со 100% надёжностью.
Есть и нерешаемые задачи -- например, найти файл по его хэшу за один
акт посылки, но я не представляю в какой реальной задачи такое может
встретиться (ну, разве что от лени и тупизма).
--- ifmail v.2.15dev5.4
* Origin: Demos online service (2:5020/400)
Ответы на это письмо:
From: Username
Заголовок следующего сообщения в треде может быть длинным и его придется перенести на новую строку
From: Username
Или коротким