Рекомендуемые свойства zfs для точек монтирования данных блокчейна

403
Karl Richter

Технологии, основанные на блокчейне, требуют больших массивов данных для работы. Имеет смысл поместить их в отдельный том / набор данных, если файловая система их поддерживает. Я использую ZFS и мне было интересно, есть ли какие-либо свойства, рекомендуемые для установки в наборе данных, который содержит только данные блокчейна. Это хорошо сжимается (если да, с алгоритмом)? Это дедуплицируемо? В чем недостаток во время чтения (например, часто ли обращаются к старым данным и, следовательно, их необходимо постоянно распаковывать)?

Я предполагаю, что все они имеют схожие структуры данных, но если нет, давайте сосредоточимся на том, что хранит биткойн ~/.bitcoin.

Я использую ZFS 7.x на Ubuntu 17.10.

4

1 ответ на вопрос

1
Dan

В байтах формат на диске для цепочки биткойнов состоит в основном из подписей и хэшей.

В ZFS или любой другой системе хранения существует три основных метода повышения эффективности использования байтов:

  1. Сжатие: Хеши и подписи в основном выглядят как случайные числа, поэтому здесь будет сложно получить большую выгоду.
  2. Дедупликация: для работы дедупликации требуются точные совпадения блоков, но я не вижу причин, по которым они существовали бы в цепочке блоков - я думаю, что каждая запись будет уникальной.
  3. Снимок / клонирование: это помогает, только если вам нужно несколько копируемых копий блокчейна.

Поэтому, по большей части, я отвечаю, что ZFS (и другие системы хранения файлов и блоков) не могут помочь ... если вы не храните несколько копий блокчейна.

Если по какой-то причине у вас есть несколько копий, вы можете получить огромные преимущества от дедупликации, поскольку в каждом узле IIUC должен в конечном итоге храниться один и тот же блокчейн. Вы можете использовать один NFS-сервер с ZFS и монтировать клоны одной и той же файловой системы везде, где вам нужна копия блокчейна. Это также сделало бы создание новых копий намного быстрее, так как вы могли бы сразу же сделать клон данных с возможностью записи вместо того, чтобы scpобрабатывать данные.