Цепочки данных растут бесконечно, как у Bitcoin и Git, но системы вроде Redis и Kafka предпочитают скользящее окно — правда, без привычной хеш-связки между записями. Автор инициативы Gorgona утверждает, что теперь удалось совместить оба подхода сразу.
В обсуждении на GitHub (репозиторий psqlmaster, ветка discussions под номером 15) разбирается давний компромисс в архитектуре хранения и передачи данных. С одной стороны — блокчейн-подобные и VCS-подобные структуры: биткоин-цепочка и репозиторий Git со временем только прирастают. Для Bitcoin упоминается ориентир порядка 800 ГБ. С другой стороны — брокеры и кеши вроде Redis и Kafka: они работают со скользящим окном, старые сообщения вытесняются, зато нет накладных расходов на хеш-цепочку.
Суть парадокса, который автор называет «отрезанием головы», в том, что обычно приходится выбирать: либо вечная и проверяемая целостность, либо компактность и производительность за счёт отказа от полной истории. Первый вариант плохо масштабируется по объёму, второй теряет криптографическую связность записей.
По заявлению из обсуждения, найденное решение позволяет получить и то, и другое одновременно — то есть сохранять свойства хеш-цепочек, не отказываясь от логики скользящего окна. Формулировка «Проблема решена» дана без развёрнутого технического описания в приведённом фрагменте, поэтому детали реализации остаются за пределами данного текста.
Ссылка на обсуждение — github.com/psqlmaster/gorgona/discussions/15 — ведёт к первоисточнику, где, судя по контексту, и раскрываются подробности подхода.
