72
Big Data’15 Лекция I: распределенные файловые системы Дмитрий Барашев [email protected] Computer Science Center 17 февраля 2015

Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Embed Size (px)

Citation preview

Page 1: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Big Data’15Лекция I: распределенные файловые системы

Дмитрий Барашев[email protected]

Computer Science Center

17 февраля 2015

Page 2: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Этот материал распространяется под лицензией

Creative Commons ”Attribution - Share Alike” 3.0http://creativecommons.org/licenses/by-sa/3.0/us/deed.ru

сверстано в онлайн LATEX редакторе

P

a

peeriapapeeria.com

Page 3: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Сегодня в программе

Характеристики данных

Основные концепции

Особенности распределенных ФС

Немного истории

Google File System/Hadoop File System

Бонус трек

Page 4: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Начнём с хранения

▶ Грузовик данных где-то надо хранить▶ Ты слышал, что в Google для этого используетсяDFS1 aka «распределённая файловая система»

▶ Может тебе она тоже нужна?

1Distributed File System

Page 5: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

..

“A distributed system is a system where I can’tget any work done if a machine I’ve neverheard of crashes.L. Lamport .. ”

Page 6: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Сегодня в программе

Характеристики данных

Основные концепции

Особенности распределенных ФС

Немного истории

Google File System/Hadoop File System

Бонус трек

Page 7: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Нужна ли тебе DFS?

Может быть и нетЗависит от характеристик твоих данных

Page 8: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Размер

▶ Данные не помещаются на локальный диск?▶ Это коллекция фоточек и фильмов?

▶ Купи двухтерабайтный внешний диск и забудьпро DFS

Page 9: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Размер

▶ Данные не помещаются на локальный диск?▶ Это коллекция фоточек и фильмов?▶ Купи двухтерабайтный внешний диск и забудьпро DFS

Page 10: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Обновления

▶ Новые данные поступают постоянно?▶ Ты собираешься с ними что-то делать?

▶ Если нет, то записывай их на ленту или HDD изабудь про DFS

Page 11: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Обновления

▶ Новые данные поступают постоянно?▶ Ты собираешься с ними что-то делать?▶ Если нет, то записывай их на ленту или HDD изабудь про DFS

Page 12: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Использование

▶ Твои пользователи читают и пишут данныеконкурентно?

▶ Они переживут downtime до 15 минут?

▶ Установи файл-сервер с журналированием ирезервными копиями и забудь про DFS

Page 13: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Использование

▶ Твои пользователи читают и пишут данныеконкурентно?

▶ Они переживут downtime до 15 минут?▶ Установи файл-сервер с журналированием ирезервными копиями и забудь про DFS

Page 14: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Может и правда не нужна?

▶ У тебя много данных и ты их обрабатываешь?▶ Ты готов увеличить число процессоров в N раз,если это сделает обработку в N раз быстрее?

▶ Твои пользователи читают большиепоследовательные фрагменты?

▶ Они будут очень огорчены сбоем диска илиблока питания?

▶ Тебе, наверное, надо вспомнить прокакую-нибудь DFS

Page 15: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Может и правда не нужна?

▶ У тебя много данных и ты их обрабатываешь?▶ Ты готов увеличить число процессоров в N раз,если это сделает обработку в N раз быстрее?

▶ Твои пользователи читают большиепоследовательные фрагменты?

▶ Они будут очень огорчены сбоем диска илиблока питания?

▶ Тебе, наверное, надо вспомнить прокакую-нибудь DFS

Page 16: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Сегодня в программе

Характеристики данных

Основные концепции

Особенности распределенных ФС

Немного истории

Google File System/Hadoop File System

Бонус трек

Page 17: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Файловая система

▶ Модель данных, программные компоненты,персистентные структуры данных и API

▶ Предоставляет абстракцию для доступа кданным, находящимся на каком-то физическомносителе

▶ Традиционная модель▶ Файл: объект с именем и бессмысленным для ФСсодержанием

▶ Каталог: список файлов и вложенных каталогов▶ Каталоги и файлы образуют дерево –пространство имен

▶ Файл уникально идентифицируется путем:/usr/bin/vim

Page 18: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Метаинформация

▶ Для пользователя информация – этосодержание файлов

▶ Для ФС интереснее метаинформация: названиефайла, список блоков, время модификации,права доступа

Page 19: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Локальные файловые системы

▶ Более или менее тесно интегрированы с ядром▶ Обычно хранят данные на локальном HDD▶ Блоки размером несколько килобайт▶ Могут кешировать страницы

Page 20: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Локальные ФС: Linux

картинка с IBM developerWorks

Page 21: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Сегодня в программе

Характеристики данных

Основные концепции

Особенности распределенных ФС

Немного истории

Google File System/Hadoop File System

Бонус трек

Page 22: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Распределенная ФС

▶ Модель примерно та же▶ Компоненты распределены по разным машинам▶ Распределенность существенно влияет нанекоторые решения

Page 23: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Компоненты РФС

▶ Клиент: API для прикладных приложений и коддля коммуникации с сервером

▶ Серверы файлов: хранят содержимое файлов▶ Серверы метаданных: знают, какой файл гдележит и многое еще

Page 24: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Аспекты функционирования

▶ Прозрачность размещения файлов▶ Совместный доступ▶ Кеширование▶ Репликация▶ Единая точка отказа▶ Наличие состояния▶ Шаблоны доступа▶ Масштабируемость▶ API

Page 25: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Прозрачность размещения файлов

▶ Прикладному приложению известен только путь▶ Чем меньше информации о физическомрасположении закодировано в путь, тем лучше

▶ …при сохранении здравого смысла

Пример 1/192.168.0.10/sda1/home/alice/kitten.jpgтут пожалуй информации многовато

Пример 2/TheEarth/home/alice/kitten.jpgа тут ФС придется самостоятельно выбрать континент

Page 26: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Прозрачность размещения файлов

▶ Прикладному приложению известен только путь▶ Чем меньше информации о физическомрасположении закодировано в путь, тем лучше

▶ …при сохранении здравого смысла

Пример 1/192.168.0.10/sda1/home/alice/kitten.jpgтут пожалуй информации многовато

Пример 2/TheEarth/home/alice/kitten.jpgа тут ФС придется самостоятельно выбрать континент

Page 27: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Совместный доступ и кеширование

▶ Централизованная система: атомарные чтениеи запись; блокировки; журналирование

▶ Распределенная ФС: сетевые задержки,репликация усложняют жизнь

Page 28: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Варианты управления совместнымдоступом

▶ синхронные чтение и запись▶ write-through cache: чтение из кеша, синхроннаязапись

▶ сессионное кеширование: чтение и запись вкеш, синхронизация при закрытии, политикаопределения победителя при конкурирующейзаписи

▶ файлы после создания становятсянеизменяемыми

▶ запись возможна только в конец (append-only)▶ клиенты, открывшие файл уведомляются озаписях

▶ полноценные транзакции

Page 29: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Репликация

▶ Синхронная или асинхронная▶ Политика согласованности реплик▶ Запись в реплики

Page 30: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Единая точка отказа

▶ Сбой в единой точке отказа2 делаетнеработоспособной всю систему

▶ Сервер метаданных – кандидат на SPoF▶ …и еще и на узкое место

▶ Два сервера метаданных – кандидаты нанесогласованность

2Single Point of Failure

Page 31: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Наличие состояния

▶ Сервер с состоянием (stateful) знает все прооткрытые файлы в данный момент

▶ тратит на это память и больно падает▶ но зато может кое-какие операцииоптимизировать

▶ Сервер без состояния (stateless) возможнобудет повторять действия при каждом запросе

▶ но зато быстро восстановится после падения▶ У сервера метаданных всегда есть состояние

Page 32: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Шаблоны доступа

▶ Какого размера типичный файл?▶ Что важнее – надежность или скорость?▶ Что важнее – среднее время одного случайногочтения или суммарная пропускная способностьпоследовательного чтения?

Page 33: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Масштабируемость

▶ Хочется линейную▶ было N дисков и K машин▶ стало ×2 данных – добавили N дисков, сохранилипропускную способность

▶ нужна в два раза большая пропускнаяспособность – добавили K машин, распределилиданные

▶ На практике у линейной масштабируемостимножество препятствий

▶ пропускная способность сети, сетевыхинтерфейсов файловых серверов,производительность сервера каталогов,блокировки

Page 34: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Предоставляемый API

▶ POSIX: такой же как у локальных ФС, не нужноменять прикладные программы

▶ Какой-то свой, в связи с ограничениями илидополнительными возможностями

Page 35: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Сегодня в программе

Характеристики данных

Основные концепции

Особенности распределенных ФС

Немного истории

Google File System/Hadoop File System

Бонус трек

Page 36: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

NFS

▶ Network File System▶ Рождена Sun’ом в начале 1980-х и жива-здоровадо сих пор, используется во многих корпорациях

▶ POSIX API, клиент монтирует удаленный диск влокальный каталог

▶ На сервере NFS демон тоже работает состандартным интерфейсом файловой системы

▶ Поддерживаются блокировки и сессионноекеширование

Page 38: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

AFS

▶ Andrew File System. Рождена в университетеCarnegie Mellon в 1980-х

▶ Сессионное кеширование, нотификации обизменениях, блокировки файлов

▶ Моментальные read-only снимки томов▶ Не POSIX API

Page 39: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

и другие

▶ CIFS, aka Samba, aka Windows Shared Folders▶ Ceph, GlusterFS, Lustre, <add your file systemhere>

Page 40: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Сегодня в программе

Характеристики данных

Основные концепции

Особенности распределенных ФС

Немного истории

Google File System/Hadoop File System

Бонус трек

Page 41: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Братья или однофамильцы?

▶ GFS – закрытая реализация, подробноописанная в статье

▶ HDFS – открытая реализация, построенная попринципам GFS. Рождена в Apache SoftwareFoundation.

▶ Позднее за HDFS взялась Yahoo, и сейчас HDFSиспользуется повсеместно

▶ QFS: реализация на C++

Page 42: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Предпосылки

▶ Начало 2000-х, Google завоевывает поиск▶ Большие файлы (порядка N Gb) записываются ичитаются пакетными процессами (crawler,indexer)

▶ Пропускная способность важнее быстрогослучайного доступа

▶ Ширпотребные компьютеры, в совокупностичасто выходящие из строя

Page 43: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Основные моменты архитектуры▶ Много файловых серверов3, один активныйсервер метаданных (мастер)

▶ Файлы хранятся фрагментами4 по 64Mb▶ Каждый фрагмент реплицируется на 3различных файловых сервера

▶ Приоритетные операции с файлом: большоепоследовательное чтение и конкурентноенаращивание

▶ Метаданные клиент получает от мастера,данные непосредственно от файловых серверов

▶ Клиент может кешировать метаданные, но некеширует содержимое файлов

▶ POSIX API не поддерживается3chunk server4chunk

Page 44: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Развертывание GFS

▶ Ячейка5 – единица развертывания▶ В ячейке один мастер и много файловыхсерверов

▶ Ячейка GFS примерно соответствуетфизическому датацентру

5cell

Page 45: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Архитектура GFS-ячейки

Page 46: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Обязанности мастера

▶ Поддерживать пространство имен и егоотображение во фрагменты

▶ Обзвон файловых серверов, «проверка связи»,выдача указаний, сбор состояния

▶ Размещение фрагментов при их создании,дополнительной репликации илиперебалансировке

▶ Пересылка данных, однако, осуществляетсянапрямую между репликами и/или клиентом

Page 47: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Метаданные

▶ Пространство имён▶ Отображение имени файла в список фрагментов▶ Расположение реплик каждого фрагмента

Page 48: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Мутации метаданных

▶ Метаданными управляет мастер в своейоперативной памяти

▶ Теневые серверы дублируют его действия▶ Изменения метаданных атомарны,изолированны и долговечны

▶ в пространстве имен используютсяиерархические блокировки

▶ мутации метаданных журналируются и журналреплицируется на теневых серверах

▶ Пространство имён и отображениефайл-фрагменты хранятся долговечно.

▶ Расположение фрагментов собирается впроцессе созвона с файловыми серверами

Page 49: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Свойства фрагмента

▶ При создании получает уникальныйнеизменный идентификатор и номер версии

▶ При мутациях номер версии увеличивается

Page 50: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Взаимодействие клиента и мастера причтении

▶ Приложение собирается прочитать фрагмент▶ GFS библиотека звонит мастеру, тот возвращаетадреса реплик – файловых серверов, хранящихфрагмент – и актуальный номер версии

▶ GFS библиотека напрямую звонит одному изфайловых серверов с просьбой вернуть нужныйдиапазон внутри данного фрагмента

▶ Дальнейшее общение клиента и файловогосервера идет напрямую

▶ Если реплика сообщает, что её фрагмент имеетменьший номер версии, то значит она протухла.Клиент обращается к другой.

Page 51: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Взаимодействие при записи

1. Приложение хочет записать данные вфрагмент, хранящийся на нескольких репликах

2. Мастер выбирает главную по записи среди всехреплик

3. Клиент получает адреса всех реплик ипередает им данные

4. Когда все реплики получили данные, клиентпосылает главной указание произвести запись

5. Главная реплика выбирает порядок применениямутаций, применяет их локально и рассылаетрепликам указание синхронно применитьмутации в том же порядке

6. Если все хорошо то клиент счастлив

А что если не все хорошо?

Page 52: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Взаимодействие при записи

1. Приложение хочет записать данные вфрагмент, хранящийся на нескольких репликах

2. Мастер выбирает главную по записи среди всехреплик

3. Клиент получает адреса всех реплик ипередает им данные

4. Когда все реплики получили данные, клиентпосылает главной указание произвести запись

5. Главная реплика выбирает порядок применениямутаций, применяет их локально и рассылаетрепликам указание синхронно применитьмутации в том же порядке

6. Если все хорошо то клиент счастливА что если не все хорошо?

Page 53: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Модель согласованности▶ Характеристики байтового региона:согласованный и определенный

▶ Регион согласован6, если у него одинаковоезначение во всех репликах

▶ Регион определен7 после записи, если онсогласован и клиенты видят ровно те данные,которые были записаны

▶ Успешная запись при отсутствииконкурирующих записей производитопределённый регион

▶ Конкурирующие успешные записи могутпроизвести согласованные, но неопределённыеданные

6consistent7defined

Page 54: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Атомарная операция наращивания▶ Гарантия: успешная операция наращиванияпроизводит согласованный определённыйрегион, смещение которого определяет GFS

▶ В «хорошем» случае все почти как в операциипроизвольной записи

▶ Главная реплика назначает смещение и можетпопросить произвести запись в следующийфрагмент, если в текущем нет места

▶ В «плохом» случае клиент повторяет операцию,и главная реплика назначает новое смещение

▶ Результат: в некоторых репликах могут бытьдубликаты, полные или частичные добавляемыхданных, но рано или поздно появитсясогласованный определённый регион

Реплики фрагмента не являются бинарноидентичными!

Page 55: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Атомарная операция наращивания▶ Гарантия: успешная операция наращиванияпроизводит согласованный определённыйрегион, смещение которого определяет GFS

▶ В «хорошем» случае все почти как в операциипроизвольной записи

▶ Главная реплика назначает смещение и можетпопросить произвести запись в следующийфрагмент, если в текущем нет места

▶ В «плохом» случае клиент повторяет операцию,и главная реплика назначает новое смещение

▶ Результат: в некоторых репликах могут бытьдубликаты, полные или частичные добавляемыхданных, но рано или поздно появитсясогласованный определённый регион

Реплики фрагмента не являются бинарноидентичными!

Page 56: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Схема наращивания

Page 57: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Неопределённые данные

▶ И произвольная запись и наращивание могутпроизвести неопределённые и несогласованныерегионы

▶ Выяснение осмысленности хранящихся врегионе данных становится заботойприложения

▶ контрольные суммы записи▶ контрольные точки в файле

Page 58: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Время жизни главной реплики

▶ Главная реплика назначается мастером иполучает билет8 на 60 секунд

▶ Если билет просрочен, главная реплика неимеет права осуществлять операции записи

▶ Билет можно продлевать▶ Каждый новый билет, выданный главнойреплике, увеличивает номер версии фрагмента

▶ Мастер может отобрать билет раньше срока

8lease

Page 59: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Операция фиксации состояния

▶ Фиксация состояния9 делает почти мгновеннуюкопию файла или каталога методомcopy-on-write

▶ отбираются все выданные билеты▶ делается копия метаданных дерева▶ новые файлы ассоциируются с оригинальнымифрагментами

▶ Когда кто-то захочет изменить данные, онзапросит адрес главной реплики фрагмента

▶ В этот момент мастер распорядится создатьфрагмент-копию

9snapshot

Page 60: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Проблемы файлового сервера

▶ Данные на файловом сервере могутповредиться из-за аппаратного илипрограммного сбоя

▶ ФС может проспать мутацию фрагмента и егофрагмент протухнет (номер версии меньше чемна мастере)

Page 61: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Целостность данных

▶ Фрагменты разбиваются на блоки размером64Kb и для каждого блока считаетсяконтрольная сумма

▶ Контрольные суммы хранятся в памяти ижурналируются отдельно от данных

▶ При чтении файловый сервер сравнивает КСблока с записанной и в случае противоречиябьёт в набат

Page 62: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Устаревшие фрагменты, удалениефайлов и сборка мусора

▶ Фрагмент может устареть▶ Стратегия удаления

▶ отметить как удалённый и переместить в Trash,записав момент удаления

▶ через некоторое время удалить из метаданныхсовсем

▶ Стратегия сбора мусора▶ Файловые серверы сообщают мастеру IDхранимых фрагментов

▶ Мастер смотрит в свои метаданные:отображение файла во фрагменты

▶ Первое множество без второго = мусор▶ Файловый сервер удаляет мусор по своемуусмотрению

Page 63: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Требования меняются

▶ Google 2010-х годов – это интерактивныеприложения

▶ Файлов больше, их размер меньше▶ Речь уже об эксабайтах▶ Требования по времени произвольного доступажестче

▶ GFS ячейка достигает предела возможностейпри количестве файлов 50M и объеме несколькопетабайт

GFS в Google больше не используется, на сменупришел Colossus

Page 64: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Требования меняются

▶ Google 2010-х годов – это интерактивныеприложения

▶ Файлов больше, их размер меньше▶ Речь уже об эксабайтах▶ Требования по времени произвольного доступажестче

▶ GFS ячейка достигает предела возможностейпри количестве файлов 50M и объеме несколькопетабайт

GFS в Google больше не используется, на сменупришел Colossus

Page 65: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Colossus

▶ Шардированные метаданные▶ Простая репликация заменена кодамиРида-Соломона

▶ Подробности практически неизвестны

Page 66: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Сегодня в программе

Характеристики данных

Основные концепции

Особенности распределенных ФС

Немного истории

Google File System/Hadoop File System

Бонус трек

Page 67: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

ФС без сервера метаданных

▶ Применяем хеш к полному имени файла иполучаем номер(а) файловых серверов

▶ Если файл переименовывается, он оставляетсвой новый адрес на старом месте

▶ Если нужно увеличить число файловыхсерверов, используем схему, похожую наextensible hashing

▶ Реализация: GlusterFS

Page 68: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Недостатки репликации

▶ N реплик – это конечно хорошо, но …▶ Диска тратится в N раз больше▶ Выхода из строя всего N машин достаточночтобы потерять 1 фрагмент

Page 69: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Алгоритмы коррекции ошибок

▶ Уменьшение избыточных данных▶ Повышение надежности: чтоб потерять данныенужно вывести из строя существенно большемашин

▶ Reed-Solomon encoding: n исходных дисков + mконтролирующих гарантируют восстановлениепри выходе из строя любых k <=m дисков

▶ Конфигурация n = 8,m = 4 надежнее обычнойрепликации с фактором 3 и требует в два разаменьше места

Page 70: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Алгоритмы коррекции ошибок

▶ Уменьшение избыточных данных▶ Повышение надежности: чтоб потерять данныенужно вывести из строя существенно большемашин

▶ Reed-Solomon encoding: n исходных дисков + mконтролирующих гарантируют восстановлениепри выходе из строя любых k <=m дисков

▶ Конфигурация n = 8,m = 4 надежнее обычнойрепликации с фактором 3 и требует в два разаменьше места

Page 71: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Литература I

Alex Davies and Alessandro Orsaria.Scale out with glusterfs.Linux J., 2013(235), November 2013.Sanjay Ghemawat, Howard Gobioff, and Shun-TakLeung.The Google file system.In ACM SIGOPS Operating Systems Review,volume 37, pages 29–43. ACM, 2003.M. Tim Jones.NFS: удобная и перспективная сетевая файловаясистема.http://www.ibm.com/developerworks/ru/library/l-network-filesystems/index.html/.Accessed: 23.01.2013.

Page 72: Технологии хранения и обработки больших объёмов данных, весна 2015: Лекция 1: Распределённые файловые

Литература II

M. Tim Jones.Анатомия файловой системы Linux.http://www.ibm.com/developerworks/ru/library/l-linux-filesystem/.Accessed: 23.01.2013.James S. Plank et al.A tutorial on Reed-Solomon coding forfault-tolerance in RAID-like systems.Software Practice and Experience, 27(9):995–1012,1997.В.Г. Олифер and Н.А. Олифер.Сетевые операционные системы.Питер, 2002.