Multiple applications request data from multiple storage units over a
computer network. The data is divided into segments and each segment is
distributed randomly on one of several storage units, independent of the
storage units on which other segments of the media data are stored.
Redundancy information corresponding to each segment also is distributed
randomly over the storage units. The redundancy information for a segment
may be a copy of the segment, such that each segment is stored on at least
two storage units. The redundancy information also may be based on two or
more segments. This random distribution of segments of data and
corresponding redundancy information improves both scalability and
reliability. When a storage unit fails, its load is distributed evenly
over to remaining storage units and its lost data may be recovered because
of the redundancy information. When an application requests a selected
segment of data, the request may be processed by the storage unit with the
shortest queue of requests. Random fluctuations in the load applied by
multiple applications on multiple storage units are balanced nearly
equally over all of the storage units. Small data files also may be stored
on storage units that combine small files into larger segments of data
using a log structured file system. This combination of techniques results
in a system which can transfer both multiple, independent high-bandwidth
streams of data and small data files in a scalable manner in both
directions between multiple applications and multiple storage units.
Множественные применения спрашивают данные от множественных блоков хранения над компьютерной сетью. Данные разделены в этапы и каждый этап распределен случайно на одном из нескольких блоков хранения, независимо блоков хранения на которых хранятся другие этапы данных по средств. Данные по дублирования соответствуя к каждому этапу также распределены случайно над блоками хранения. Данными по дублирования для этапа могут быть экземпляр этапа, такого что каждый этап хранится на по крайней мере 2 блоках хранения. Данные по дублирования также могут быть основаны на двух или несколько этапов. Это случайно распределение этапов данных и соответствуя данных по дублирования улучшает и scalability и надежность. Когда блок хранения терпит неудачу, своя нагрузка распределена ровно сверх к остальным блокам хранения и свои lost данные могут быть взяты из-за данных по дублирования. Когда применение спрашивает выбранный этап данных, запрос может быть обработан блоком хранения с скоро косой запросов. Случайно зыбкост в нагрузке приложенной множественными применениями на множественных блоках хранения сбалансированы близко равн над всем из блоков хранения. Малые архивы данных также могут храниться на блоках хранения совмещают малые архивы в более большие этапы данных использующ составленную журналом систему файлов. Эта комбинация методов приводит к в системе может перенести и множественные, независимо потоки высок-wiriny полосы частот данных и малые архивы данных в scalable образе и в направлениях между множественными применениями и множественными блоками хранения.