Назад | Перейти на главную страницу

Достаточно ли аппаратной абстракции для ОГРОМНОГО количества файлов?

Веб-приложение, над которым я работаю, будет использоваться для загрузки / скачивания большого количества файлов меньшего размера - я ищу файлы размером около 1 Б с общим размером> 10 Пб. В настоящее время я пытаюсь выбрать масштабируемую архитектуру, которая будет поддерживать такие суммы. И вот мой вопрос - есть ли способ создать какое-то хранилище, которое будет восприниматься сервером Windows как один огромный (10 ПБ и выше) сетевой диск, чтобы я мог записывать все файлы во вложенные папки этого виртуального диска? И как он будет работать?

Прямо сейчас я пытаюсь понять, возможно ли это вообще, или мне нужно реализовать сегментирование программного уровня - запись файлов на разные диски на основе некоторого ключа.

Я разработчик, а не системный администратор, поэтому прошу прощения, если это наивный вопрос, и заранее спасибо за терпение в объяснении мне, возможно, тривиальных вещей.

Андрей

как "нормальный, но огромный" файловый сервер:

с файловой библиотекой уровня приложения:

общая пара "ключ-значение":

Узнайте, как Backblaze хранит свои данные. Очень хорошо читают, и у них есть блог о новых дисках емкостью 3 ТБ. Вероятно, это не ответит на вопрос о файловой системе. Я не уверен, как Backblaze создает файловую структуру. Но все же хорошая информация.

Прежде чем продолжить поиск, вам нужно определиться немного точнее, какая семантика вам нужна. Например, вы говорите, что это файлы - нужна ли вам семантика файлов POSIX (в основном связанная с согласованностью и блокировкой) для них в хранилище? или достаточно ли «конечной согласованности» различных распределенных хранилищ данных? Каковы ваши требования к вводу-выводу: сколько одновременного доступа? Каковы ваши требования к избыточности? Также: какое оборудование вы собираетесь использовать? Массивы 10Pb не растут на деревьях, и простое управление ими - это постоянная работа - такое большое количество оборудования означает, что отказ - нормальное явление, поэтому требуется постоянный ремонт и замена.

Из того, что вы сказали "веб-приложение ... хранение файлов ...", я думаю, OpenStack или S3 какое решение должно подойти вам. Поскольку вы в основном разработчик, я бы посоветовал вам действительно использовать Amazon или Rackspace или кто-то другой в качестве вашего провайдера, если вы действительно не хотите заниматься управлением оборудованием.

В наши дни вы можете рассмотреть HDFS и общую экосистему Hadoop.