Введение

Компьютерная сеть с двумя или более узлами для хранения информации.

Распределенное хранилище данных — это компьютерная сеть, в которой информация хранится на нескольких узлах, часто с репликацией. Обычно этот термин используется для обозначения либо распределенной базы данных, где пользователи хранят информацию на ряде узлов, либо компьютерной сети, в которой пользователи хранят информацию на ряде узлов одноранговой сети.

Распределенные базы данных

Распределенные базы данных обычно представляют собой нереляционные базы данных, обеспечивающие быстрый доступ к данным по большому количеству узлов. Некоторые распределенные базы данных предоставляют широкие возможности запросов, в то время как другие ограничены семантикой хранилища "ключ-значение". Примерами распределенных баз данных с ограниченными возможностями являются Bigtable от Google, которая значительно превосходит распределенную файловую систему или одноранговую сеть, Dynamo от Amazon и Microsoft Azure Storage. Поскольку возможность произвольных запросов не так важна, как доступность, разработчики распределенных хранилищ данных повысили доступность в ущерб согласованности. Однако высокая скорость чтения и записи приводит к снижению согласованности, так как, согласно теореме CAP, невозможно гарантировать одновременно и согласованность, и доступность в разделенной сети.

Хранилища данных узлов одноранговой сети

В одноранговых сетях хранения данных пользователь обычно может предоставить другим пользователям возможность использовать его компьютер в качестве узла хранения. Доступность информации для других пользователей зависит от архитектуры сети. В большинстве одноранговых сетей нет распределенных хранилищ данных, то есть данные пользователя доступны только при активном состоянии его узла в сети. Однако это различие несколько смягчается в системах, таких как BitTorrent, где контент может продолжать распространяться даже после отключения исходного узла. При этом это справедливо только для отдельных файлов, запрошенных повторными распространителями, в отличие от сетей, таких как Freenet, Winny, Share и Perfect Dark, где любой узел может хранить любую часть файлов, находящихся в сети. Распределенные хранилища данных обычно используют методы обнаружения и исправления ошибок. Некоторые распределенные хранилища данных (например, Parchive поверх NNTP) применяют методы прямой коррекции ошибок для восстановления исходного файла в случае повреждения или недоступности его частей. Другие пытаются повторно загрузить файл с другого зеркала.