Разработчики) | Шрирам Рао, Михаил Овсянников, Quantcast |
---|---|
Стабильный выпуск | 1.1.4 / 5 марта 2015 г . [1] |
Написано в | C ++ |
Тип | Распределенная файловая система |
Лицензия | Лицензия Apache 2.0 |
Интернет сайт | Quantcast |
Quantcast File System ( QFS ) - это программный пакет распределенной файловой системы с открытым исходным кодом для крупномасштабных MapReduce или других рабочих нагрузок пакетной обработки. Он был разработан как альтернатива распределенной файловой системе Apache Hadoop ( HDFS ), призванной обеспечить лучшую производительность и экономическую эффективность для крупномасштабных вычислительных кластеров.
Дизайн [ править ]
QFS - это программное обеспечение, которое работает в кластере из сотен или тысяч стандартных серверов Linux и позволяет другим программным уровням взаимодействовать с ними, как если бы они были одним гигантским жестким диском. Он состоит из трех компонентов:
- Сервер фрагментов работает на каждой машине, на которой будут размещаться данные, управлять вводом-выводом на свои жесткие диски и контролировать его активность и емкость.
- Центральный процесс, называемый метасервером, сохраняет структуру каталогов и отображает файлы в физическое хранилище. Он координирует действия всех серверов фрагментов и контролирует общее состояние файловой системы. Для обеспечения высокой производительности он хранит все свои данные в памяти, записывая контрольные точки и журналы транзакций на диск для восстановления.
- Клиентский компонент - это точка интерфейса, которая представляет программный интерфейс приложения (API) файловой системы для других уровней программного обеспечения. Он запрашивает метасервер, чтобы определить, какие серверы фрагментов хранят (или будут хранить) его данные, а затем напрямую взаимодействует с серверами фрагментов для чтения и записи.
В кластере из сотен или тысяч машин шансы на то, что все они будут запущены и доступны в любой момент, невелики, поэтому отказоустойчивость является центральной задачей проектирования. QFS встречает это с исправлением ошибок Рида – Соломона . Форма кодирования Рида-Соломона, используемая в QFS, хранит избыточные данные в девяти местах и может восстановить файл из любых шести из этих полос. [2] Когда он записывает файл, он по умолчанию распределяет его по девяти физически различным машинам - шесть хранят данные, три - информацию о четности. Любые три из них могут стать недоступными. Если любые шесть остаются доступными для чтения, QFS может восстановить исходные данные. Результатом является отказоустойчивость за счет увеличения объема данных на 50%.
QFS написана на языке программирования C ++ , работает в фиксированном объеме памяти и использует прямой ввод и вывод (I / O).
История [ править ]
QFS произошла от Kosmos File System (KFS), проекта с открытым исходным кодом, начатого Kosmix в 2005 году. Quantcast приняла KFS в 2007 году, в течение следующих нескольких лет построила свои собственные улучшения и выпустила QFS 1.0 как проект с открытым исходным кодом в сентябре. , 2012. [3]