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