В эфире Эха Москвы от 21 сентября чиновник по технологиям из мэрии Москвы Артём Костырко заявил следующее:
У нас было 300 тысяч переголосований на 2 миллиона, это 15%. Вот она берет каждое из переголосований и со всеми 2 миллионами проверяет. То есть, грубо говоря нужно умножить матрицу 2 миллиона строк на 300 тысяч столбиков.
Этим он объяснил задержку итогов голосования.
Данный репозиторий показывает пример, что, имея на руках все результаты голосований, ту же самую процедуру можно выполнить за 5 минут.
В целях демонстрации в качестве входных данных используется файл с генерированными паролями.
Длина пароля - 5 символов, что гарантирует большой процент дубликатов на выборке из миллиона записей.
Каждый пароль обозначает уникальный хэш избирателя.
Затем с помощью базы данных для каждого хэша избирателя вычисляется порядковый номер его последнего голоса.
Вся процедура занимает меньше 5 минут.
- Вам потребуется компьютер на операционной системе Linux
- Запустите файл install.sh, чтобы установить все необходимые библиотеки (нужно выполнить один раз)
- Запустите файл fill.sh, чтобы сгенерировать случайную выборку и выполнить "подсчёт голосов".