SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
Распределенная транзакционная
версионированная
web-ориентированная
файловая система Djarvur
Даниил Подольский, Git in Sky
Постановка задачи,
или откуда вообще взялась такая идея
•  десятки терабайт данных, сотни миллионов файлов
•  экономные заказчики ­ commodity hardware и хостер
на букву Х
•  WEB контент ­ потребность в атомарном обновлении
•  Отказоустойчивость ­ это не когда хранится, а когда
отдается
•  Проблема резервного копирования
Пара слов о существующих решениях
•  Дорого
•  Медленно
•  Плохо работает
•  POSIX не нужен
Подробности реализации: Распределенность
Проблемы:
•  Проблема файлового кеша
•  Проблема отказоустойчивости
•  Проблема репликации
•  Проблема ребалансинга
•  NoSQL кластер - наше все
Подробности реализации: Распределенность
Решения:
•  Почему NoSQL
•  Как мы выбирали базу
•  Почему Aerospike
–  Да, Aerospike нынче OpenSource и бесплатен
•  3.1.2.3. Почему Cassandra
•  3.1.2.4. Составные индексы
•  3.1.2.5. Транзакции
Подробности реализации: Транзакционность
Проблемы
•  Атомарное обновление
•  Откат
•  Уровень изоляции
Подробности реализации: Транзакционность
Решения
•  примерно как на симлинках, только без симлинков
•  создание файла
•  удаление файла
•  commit и rollback как процессы
•  самописная система транзакций –
это весело
Подробности реализации: Версионирование
Проблемы
•  Сисадмины бывают двух сортов, или проблемы
бекапа
Подробности реализации: Версионирование
Решения
•  Раз есть транзакции - их можно использовать как
точки восстановления
•  На самом деле, транзакции ни при чем. Просто мы
храним несколько версий файла с одним именем
Подробности реализации:
WEB-ориентированность
•  Прямой доступ по полному пути
•  Иерархические файловые системы не нужны
Подробности реализации:
Файловость
•  FUSE как интерфейс
•  Совмещение абстракций “транзакция” и “точка
восстановления” с абстракцией “файл”
•  На самом деле - файловая система не нужна
Под капотом:
Проблема больших файлов
•  Chunks
•  Bunches
Под капотом:
Кое что задаром
•  Дедупликация
•  Сжатие на лету
•  Экономия канала
Под капотом
•  Двухфазное удаление
–  удаление как таковое не нужно
Под капотом
Transaction keeper как единая точка отказа
Коротко об опыте эксплуатации
Где скачать
•  https://github.com/Djarvur/djarvurfs
Вопросы?

Más contenido relacionado

Destacado

ночью через лес Stress-test пяти almost-the-same-functionality shared-nothin...
ночью через лес  Stress-test пяти almost-the-same-functionality shared-nothin...ночью через лес  Stress-test пяти almost-the-same-functionality shared-nothin...
ночью через лес Stress-test пяти almost-the-same-functionality shared-nothin...Daniel Podolsky
 
NoSQL — неспроста ли это "ЖЖЖ"?
NoSQL — неспроста ли это "ЖЖЖ"?NoSQL — неспроста ли это "ЖЖЖ"?
NoSQL — неспроста ли это "ЖЖЖ"?Daniel Podolsky
 
Tk conf daniel-podolsky-sqlvsnosql
Tk conf daniel-podolsky-sqlvsnosqlTk conf daniel-podolsky-sqlvsnosql
Tk conf daniel-podolsky-sqlvsnosqlDaniel Podolsky
 
My talk at CEE-SECR 2016
My talk at CEE-SECR 2016My talk at CEE-SECR 2016
My talk at CEE-SECR 2016Alex Chistyakov
 
Harry Potter and the Daemons of Berkeley
Harry Potter and the Daemons of BerkeleyHarry Potter and the Daemons of Berkeley
Harry Potter and the Daemons of BerkeleyAlex Chistyakov
 
My talk at YouCon Saratov 2016
My talk at YouCon Saratov 2016My talk at YouCon Saratov 2016
My talk at YouCon Saratov 2016Alex Chistyakov
 
My talk on HBase ops engineering at TBD Jun 2016
My talk on HBase ops engineering at TBD Jun 2016My talk on HBase ops engineering at TBD Jun 2016
My talk on HBase ops engineering at TBD Jun 2016Alex Chistyakov
 
My talk at Linux Piter 2015
My talk at Linux Piter 2015My talk at Linux Piter 2015
My talk at Linux Piter 2015Alex Chistyakov
 
My talk at Linux Piter 2016
My talk at Linux Piter 2016My talk at Linux Piter 2016
My talk at Linux Piter 2016Alex Chistyakov
 

Destacado (10)

ночью через лес Stress-test пяти almost-the-same-functionality shared-nothin...
ночью через лес  Stress-test пяти almost-the-same-functionality shared-nothin...ночью через лес  Stress-test пяти almost-the-same-functionality shared-nothin...
ночью через лес Stress-test пяти almost-the-same-functionality shared-nothin...
 
NoSQL — неспроста ли это "ЖЖЖ"?
NoSQL — неспроста ли это "ЖЖЖ"?NoSQL — неспроста ли это "ЖЖЖ"?
NoSQL — неспроста ли это "ЖЖЖ"?
 
Tk conf daniel-podolsky-sqlvsnosql
Tk conf daniel-podolsky-sqlvsnosqlTk conf daniel-podolsky-sqlvsnosql
Tk conf daniel-podolsky-sqlvsnosql
 
My talk at CEE-SECR 2016
My talk at CEE-SECR 2016My talk at CEE-SECR 2016
My talk at CEE-SECR 2016
 
My talk at LVEE 2016
My talk at LVEE 2016My talk at LVEE 2016
My talk at LVEE 2016
 
Harry Potter and the Daemons of Berkeley
Harry Potter and the Daemons of BerkeleyHarry Potter and the Daemons of Berkeley
Harry Potter and the Daemons of Berkeley
 
My talk at YouCon Saratov 2016
My talk at YouCon Saratov 2016My talk at YouCon Saratov 2016
My talk at YouCon Saratov 2016
 
My talk on HBase ops engineering at TBD Jun 2016
My talk on HBase ops engineering at TBD Jun 2016My talk on HBase ops engineering at TBD Jun 2016
My talk on HBase ops engineering at TBD Jun 2016
 
My talk at Linux Piter 2015
My talk at Linux Piter 2015My talk at Linux Piter 2015
My talk at Linux Piter 2015
 
My talk at Linux Piter 2016
My talk at Linux Piter 2016My talk at Linux Piter 2016
My talk at Linux Piter 2016
 

распределенная транзакционная версионированная Web ориентированная файловая система djarvur.ppt