[S02E05] Согласованное хеширование | BookClub DOTNET

BookClub DotNet Season 2 #5
ОДНАЖДЫ ЛЕБЕДЬ, РАК ДА ЩУКА...
Так, падажжите, это не та басня... А где же нужный текст? А, да вот он: хеши без изъяна, хеши без обмана, надёжны, как пружина от дивана! Используйте согласованное хеширование, чтобы ваши приложения не были как лебедь, рак да щука, а вы могли быстро находить нужные тексты!
Ведущие:
- Роман Гашков
- Григорий Кузьмин
- Роман Щербаков
Дизайн и иллюстрации:
- Серафима Лебедева
Книга
System Design. Подготовка к сложному интервью (www.piter.com/product/system-...)
Выпуск на других платформах: bookclub-dotnet.mave.digital/...
Выпуск на KZread: • [S02E05] Согласованное...
Канал книжного клуба: t.me/bookclubdotnet
Сайт книжного клуба: bookclub.dotnet.ru
The following music was used for this media project:
Music: Ambient Corporate by WinnieTheMoog
Free download: filmmusic.io/song/6188-ambien...
License (CC BY 4.0): filmmusic.io/standard-license
Ключевые слова: архитектура, системный дизайн, алгоритмы, паттерны, программирование, собеседование, книга, книжный клуб, architecture, system design, algorithms, patterns, programming, interview, book, bookclub

Пікірлер: 10

  • @user-no8pr5hh5g
    @user-no8pr5hh5g2 ай бұрын

    Согласованное хэширование используется при клиентском шардировании БД для определения в какой шард идти за данными

  • @AEF23C20
    @AEF23C205 ай бұрын

    ничего не понял, но очень интересно например у хеша sha берёте последние два бита - это и есть номер сервера два бита будут определять четыре числа - ручками назначьте номера серверам данные лежат ровно там, где у вычисленных хешей два последние бита и указывают на номер сервера там и ищите ваши данные некая "неравномерность данных" не решается этим недоалгоритмом неравномерность данных решается подбором вменяемой хеш-функцией от данных, и тогда проблем с некоей "неравномерностью данных" - нету, по-определению при этом, собранная статистика по данным и выбор равномерной хеш-функции - не должны меняться вообще если вы периодически меняете хеш-функцию - вы во-первых потеряете равномерность, и это не главное вы потеряете "датчик" взлома ваших хеш-таблиц если вы собрали полную статистику по данным, и выбрали вменяемую хеш-функцию, то хеши будут равномерными, по-определению а если хеш-таблица всасывает данные так, что сама наблюдает за тем, что цепочки безмерно растут - хеш-таблица должна сигнализировать о взломе по хеш-таблице, вас же банально ломают через хеш-таблицы - это же очевидно пс: конечно же простейшее [два последних бита = номер сервера] - работать не будет, потому что вас ломать будут именно генерируя данные с одинаковыми последними двумя битами - что бы данные попадали на один сирвак и у вас всё и скукожится в тыкву но суть от этого не меняется, два бита можно в любом случае брать из готовых хешей от данных, и придумайте как эти два бита брать из хешей, что бы опять получилось ровное распределение по этим двум битам - это не сложно

  • @AEF23C20

    @AEF23C20

    5 ай бұрын

    и ага, зная реализацию этого недоалгоритма который обсуждают в ведосике - можно всегда подобрать такие данные, которые будут залетать на один [и только на один] сирвак, т.е. взлом по этому недоалгоритму вообще то банален

  • @daredever

    @daredever

    5 ай бұрын

    про взлом интересно было почитать, спасибо. у меня на проде за 15 лет никто не додумался ломать сервера с кешами)

  • @daredever

    @daredever

    5 ай бұрын

    алгоритм не решает проблему неравномерности, он решает проблему минимизации сдвига данных при вводе и выводе нод в бд

  • @AEF23C20

    @AEF23C20

    5 ай бұрын

    @@daredever "про взлом интересно было почитать" суть тут в том, что хеширование - не предсказуемо по-определению или же собирайте статистику по данным, и подбирайте хеш-функцию строго под эти данные - тогда и только тогда - хеширование предсказуемо, т.е. вы сможете предсказать именно то, что хеш-таблица ведёт себя пристойно а самая главная суть тут в том, что если вы не делаете анализ данных, и не подбираете хеш-функцию - то всё это непредсказуемо не только для взломщика, НО И ДЛЯ ВАС совсем на пальцах: вы пишете про то, что никто не додумался вас ломать, только вы не поняли опять очевидное вы САМИ можете пихнуть себе же такие данные, что вы сами себя же и сломаете ахаха! т.е. по сути вас даже ломать не нужно, вы же сами всё "делаете" для этого а теперь гонг-вопрос: а как вы в некий прод, да ещё и на 15 лет запустили абсолютно непредсказуемую математическую систему?

  • @AEF23C20

    @AEF23C20

    5 ай бұрын

    а если совсем на пальцах: хеш-таблицы общего назначения = взлом это без вариантов распечатайте большими буквами и на стенку повесьте

Келесі