Разработчик(и) | КартаR |
---|---|
Полное имя | MapR FS |
Введено | 2011 с Linux |
Структуры | |
Содержимое каталога | B-дерево |
Распределение файлов | Многоуровневое B-дерево |
Пределы | |
Максимальный размер тома | неограниченный |
Максимальный размер файла | 16 ЭйБ |
Макс . кол- во файлов | неограниченный |
Функции | |
Разрешения файловой системы | Стандартные выражения Unix, контроля доступа |
Прозрачное сжатие | Да |
Прозрачное шифрование | Да |
Другой | |
Поддерживаемые операционные системы | линукс |
Файловая система MapR ( MapR FS ) — это кластерная файловая система , которая поддерживает как очень крупномасштабное, так и высокопроизводительное использование. [1] MapR FS поддерживает множество интерфейсов, включая обычный доступ к файлам для чтения/записи через интерфейс NFS и FUSE, а также через интерфейс HDFS, используемый многими системами, такими как Apache Hadoop и Apache Spark . [2] [3] Помимо доступа, ориентированного на файлы, MapR FS поддерживает доступ к таблицам и потокам сообщений с использованием API Apache HBase и Apache Kafka , а также через интерфейс базы данных документов.
Впервые выпущенная в 2010 году, [4] MapR FS теперь обычно описывается как MapR Converged Data Platform из-за добавления табличных и интерфейсов обмена сообщениями. Однако для реализации всех этих форм постоянного хранения данных используется та же основная технология, и все интерфейсы в конечном итоге поддерживаются теми же серверными процессами. Чтобы различать различные возможности общей платформы данных, термин MapR FS используется более конкретно для обозначения файлово-ориентированных интерфейсов, MapR DB или MapR JSON DB используется для обозначения табличных интерфейсов, а MapR Streams используется для описания возможностей потоковой передачи сообщений.
MapR FS — это кластерная файловая система, которая обеспечивает единообразный доступ из файлов к другим объектам, таким как таблицы, используемые как универсальное пространство имен, доступное с любого клиента системы. Контроль доступа также предоставляется для файлов, таблиц и потоков, используемых как выражения контроля доступа , которые являются расширением более общего (и ограниченного) списка контроля доступа , который разрешает разрешения из составленных списков разрешенных пользователей или групп, но вместо этого булевы разрешают комбинации идентификатора пользователя и групп.
MapR FS была разработана в 2009 году компанией MapR Technologies для расширения возможностей Apache Hadoop за счет предоставления более производительной и стабильной платформы. На дизайн MapR FS повлияли различные другие системы, такие как Andrew File System (AFS). Концепция томов в AFS имеет некоторое сильное сходство с точки зрения пользователей, хотя реализация в MapR FS совершенно иная. Одно из основных различий между AFS и MapR FS заключается в том, что последняя использует модель сильной согласованности, тогда как AFS обеспечивает только слабую согласованность.
Для достижения первоначальных целей поддержки программ Hadoop MapR FS поддерживает API HDFS, транслируя вызовы функций HDFS во внутренний API на основе механизма удаленного вызова процедур (RPC). Обычная модель однократной записи HDFS заменяется в MapR FS полностью изменяемой файловой системой даже при использовании API HDFS. Возможность поддержки мутации файлов позволяет реализовать сервер NFS, который транслирует операции NFS во внутренние вызовы RPC MapR. Аналогичные механизмы используются для обеспечения интерфейса Filesystem in Userspace (FUSE) и приблизительной эмуляции API Apache HBase .
Файлы в MapR FS внутренне реализованы путем разбиения содержимого файла на фрагменты , обычно каждый размером 256 МБ, хотя размер индивидуален для каждого файла. Каждый фрагмент записывается в контейнеры , которые являются элементом репликации в кластере. Контейнеры реплицируются, и репликация выполняется либо линейно, в котором каждая реплика пересылает операции записи следующей реплике в строке, либо по схеме звезды , в которой главная реплика пересылает операции записи всем остальным репликам одновременно. Записи подтверждаются главной репликой, когда все записи во все реплики завершены. Внутренне контейнеры реализуют B-деревья , которые используются на нескольких уровнях, например, для сопоставления смещения файла с фрагментом внутри файла или для сопоставления смещения файла с правильным блоком 8 КБ внутри фрагмента.
Эти B-деревья также используются для реализации каталогов. Длинный хэш каждого имени файла или каталога в каталоге используется для поиска дочерней таблицы файла или каталога.
Том — это особая структура данных, во многом похожая на каталог, за исключением того, что она допускает дополнительные операции контроля доступа и управления. Примечательной возможностью томов является то, что узлы, на которых может находиться том в кластере, могут быть ограничены для управления производительностью, особенно в сильно конкурирующих многопользовательских системах, которые выполняют широкий спектр рабочих нагрузок.
В MapR FS используется собственная технология для реализации транзакций в контейнерах и достижения последовательного восстановления после сбоев.
Другие особенности файловой системы включают в себя: [5]