SlideShare a Scribd company logo
Устройство object storage 
На примере LeoFS 
Alexander Chistyakov, Git in Sky
Привет, HappyDev! 
●Меня зовут Саша 
● И я – performance engineer 
● Работаю на должности главного инженера 
в компании Git in Sky
Привет, Саша! 
●Мы – веб разработчики! 
●Мы – системные администраторы! 
●Мы – архитекторы! 
●Мы еще пока не определились!
О чем пойдет речь 
● “Я вообще думаю, может БД поменять на 
что-нибудь NoSQL” © типичный 
разработчик 
● Если не БД – то файловую систему, хотя бы
Предыстория 
● HighLoad 2012 – https://clck.ru/9Lutd (не я) 
● DevConf 2014 – https://clck.ru/9Lutw (уже я) 
● Клиент – Setup.ru (конструктор сайтов) 
● 100+ млн. пользовательских файлов 
●Метаинформация в PostgreSQL 
● Сами файлы – в PostgreSQL через LO API
Наше время 
● Проект на Perl (был когда-то такой язык) 
● Хостинг – Hetzner (лучше уж Perl) 
● Текущая конфигурация машин в Hetzner не 
имеет дисков достаточного объема (8 
терабайт - максимум) 
●Мы должны были уметь хранить больше 
чем 8Тб файлов уже вот прямо вчера
Как быть? 
● Делегировать эту задачу Amazon 
● Построить свой Amazon: 
● Elliptics 
● OpenStack Swif 
● Ceph Object Gateway 
● Riak CS 
● LeoFS
Общее для всех 
● HTTP REST или Amazon S3 интерфейс 
● Автоматическая репликация 
● Автоматическая отказоустойчивость 
● Легкое добавление новых узлов
Устройство любого object storage 
● Узлы, на которых хранятся данные 
● Узлы, на которых хранятся метаданные 
●Маршрутизаторы запросов к первым двум 
● Background workers 
● Как я уже говорил однажды в Омске: 
Любой* NoSQL – несколько локальных 
хранилищ + роутер запросов к ним 
*не любой
Надо сделать выбор 
● Erlang – как Python, только лучше* 
●Mnesia и LevelDB – как SQLite, только лучше* 
● DuckDuckGo – как Yandex, только лучше* 
● Интегрированный механизм кэширования 
лучше*, чем его отсутствие 
● LeoFS: Erlang, Mnesia, LevelDB, не Yandex, 
интегрированное кэширование 
*не лучше
Последствия выбора 
● Примерно как у свадьбы, только развестись 
гораздо сложнее 
● Помехи при выборе: 
● Эффект Даннинга-Крюгера 
● Ошибка выживших 
● Недостаточность и плохое качество 
информации о решении в Интернете
Устройство LeoFS 
● LeoFS manager – хранит метаданные 
● LeoFS storage – хранит данные 
● LeoFS gateway – маршрутизирует запросы и 
кэширует контент локально 
● LeoFS manager – единая точка отказа 
● Поэтому их делают два: master и slave
Устройство LeoFS 
● LeoFS manager использует Mnesia 
● LeoFS storage использует LevelDB 
●Mnesia – распределенная СУБД из 
стандартной поставки Erlang 
● LevelDB – key-value storage, разработана в 
Google, представляет собой LSM-tree
Устройство LeoFS 
● Внутренние процессы: 
● LevelDB нужно компактить* 
● При добавлении/удалении нод нужно 
перестраивать кольцо маршрутизации 
●Можно временно включать/выключать 
узел 
● К счастью, все это делается вручную 
* не всем
Развертывание LeoFS 
● Для развертывания чего угодно я 
использую Ansible 
● Playbooks для LeoFS: https://clck.ru/9Lx73 
● (По ссылке старая версия, сейчас все 
переделано на установку через роли)
То, ради чего все затевалось 
● Отказоустойчивость: 
● В конфигурационном файле задается 
количество реплик и 
● Количество успешных операций 
● Чтения 
● Записи 
● Удаления
Как это выглядит у нас 
● Данные хранятся на 5 узлах, 8 
потребителей 
●
Что мы храним 
● Все хранимые объекты больше 64 килобайт 
● Всего хранится 7 терабайт таких объектов 
● Только 15-20% запросов идет в LeoFS, 
объекты размером менее 64К по- 
прежнему отдаются из PostgreSQL
Домашняя работа 
● Найдите на графике момент отказа*: 
* я и сам не найду
Ура, графики! 
● Количество запросов к хранилищу:
Еще графики! 
● Нагрузка на сеть:
И еще графики! 
● Нагрузка на диск:
Плюсы 
● 12 июня – начало выбора технологии 
● Через пару дней – начало внедрения 
● К августу развернут параллельный 
“старому” новый сторадж на LeoFS 
● В сентябре переезд полностью состоялся 
● В августе умер один из пяти узлов – 
заменили целиком, юзеры не заметили
Минусы 
● График latency (достаточно неторопливо):
Подводные камни 
● Клиентские библиотеки S3 все плохого 
качества 
● При отказе узла latency еще возрастает 
● Если на gateways включено кэширование на 
диск, и на диске кончается место – latency 
возрастает неимоверно 
● Балансировка контента не автоматически 
(и это плюс)
Границы применимости 
●Мы храним статический контент 
●Мы никогда не модифицируем, всегда – 
новый URL 
●Мы никогда не удаляем контент 
● Наши пользователи лояльно относятся к 
latency (это обусловлено тем, что 
существует два типа контента)
Выводы 
● Нельзя просто так взять и заменить 
RDBMS (FS, whatever) на NoSQL
Спасибо за внимание! 
● С вами был Александр Чистяков 
● Из компании Git in Sky 
● http://gitinsky.com 
● alex@gitinsky.com 
● http://twitter.com/noatbaksap 
● http://meetup.com/DevOps-40

More Related Content

PPTX
Спасение 6 миллионов файлов в условиях полного Хецнера
PDF
My talk on HBase ops engineering at TBD Jun 2016
PDF
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
PDF
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
PDF
Доменно специфичные базы данных и рассылка Aviasales, Борис Каплуновский (Avi...
PDF
NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)
PDF
My talk at Highload++ 2015
PDF
RTB DSP на языке Go: укрощение buzzwords
Спасение 6 миллионов файлов в условиях полного Хецнера
My talk on HBase ops engineering at TBD Jun 2016
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
Доменно специфичные базы данных и рассылка Aviasales, Борис Каплуновский (Avi...
NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)
My talk at Highload++ 2015
RTB DSP на языке Go: укрощение buzzwords

What's hot (19)

PDF
Rit 2010 реляционные олег царев субд и их нереляционные реализации
PPTX
Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...
PDF
My talk on LeoFS, Highload++ 2014
PDF
Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)
PPT
Как устроен NoSQL, Андрей Аксенов (Sphinx)
PPTX
Тестируем производительность распределённых систем, Александр Киров (Parallels)
PDF
Benchmarking PostgreSQL in Linux and FreeBSD
PPTX
Бинарные (файловые) хранилища- страшная сказка с мрачным концом
PDF
Олег Царев, Кирилл Коринский Сравнительный анализ хранилищ данных
PDF
My talk on Hadoop stack operations engineering at OSPCon
PPTX
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
PDF
История успеха Яндекс.Почты с PostgreSQL / Владимир Бородин (Яндекс)
PDF
maps.sputnik.ru #highload2014
PDF
Кэширование данных в web приложениях. Использование memcached / Юрий Красноще...
PDF
Near-realtime аналитика событий в высоконагруженном проекте
PDF
Применение в Enterprise-приложении графовой базы данных Neo4j - Антон Максимо...
PPTX
Why we did not choose Hadoop
PDF
Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...
PDF
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
Rit 2010 реляционные олег царев субд и их нереляционные реализации
Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...
My talk on LeoFS, Highload++ 2014
Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)
Как устроен NoSQL, Андрей Аксенов (Sphinx)
Тестируем производительность распределённых систем, Александр Киров (Parallels)
Benchmarking PostgreSQL in Linux and FreeBSD
Бинарные (файловые) хранилища- страшная сказка с мрачным концом
Олег Царев, Кирилл Коринский Сравнительный анализ хранилищ данных
My talk on Hadoop stack operations engineering at OSPCon
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
История успеха Яндекс.Почты с PostgreSQL / Владимир Бородин (Яндекс)
maps.sputnik.ru #highload2014
Кэширование данных в web приложениях. Использование memcached / Юрий Красноще...
Near-realtime аналитика событий в высоконагруженном проекте
Применение в Enterprise-приложении графовой базы данных Neo4j - Антон Максимо...
Why we did not choose Hadoop
Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
Ad

Viewers also liked (20)

PDF
Устройство современного распределенного Object Storage на примере LeoFS, Алек...
PDF
2014.12.06 05 Александр Бындю — Сustomer statisfaction для разработчиков
PDF
2014.12.06 05 Григорий Коченов — Геймификация сегодня
PPT
2014.12.06 06 Александр Зарубин — Аутсорсо диспансер. Как броить аутсорс и на...
PDF
2014.12.07 08 Влад Коробов — Дизайн мобильного приложения. Где начало и конец
PDF
2014.12.06 03 Геннадий Омышев — Рецепт приготовления фирменного стиля
PPT
2014.12.06 08 Станислав Триерс — Возможности ФРИИ для стартапов
PDF
2014.12.06 02 Иван Евтухович — Как бы я запускал собственный бизнес сейчас
PDF
2014.12.06 06 Григорий Коченов — Мобильная стратегия. Как правильно спланиров...
PDF
2014.12.06 06 Алёна Паньшина — Простой обмен данными с пользователями на прим...
PPTX
2014.12.06 04 Максим Дорофеев — 18 месяцев свободного плавания. Деформация со...
PDF
2014.12.06 02 Артемий Фоминых — Нейминг в условиях ограниченного тайминга
PPTX
2014.12.06 02 Екатерина Боброва — Тестируем сложные backend-ы
PPT
2014.12.07 11 Лета Штольц — Знай наших! Как стать известным в сообществах
PPT
2014.12.06 04 Евгений Тюменцев — Откуда появились s.o.l.i.d. принципы
PDF
2014.12.06 05 Антон Плешивцев — Разбираем естественные языки на Lisp'е
PDF
2014.12.07 10 Анна Дмитриева — Продвижение проекта после релиза
PDF
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
PDF
HappyDev`12 - Александр Кудымов - Любовь и честность в интерфейсах
KEY
Данил Снитко - Креативное агентство, работающее в кайф | HappyDev'12
Устройство современного распределенного Object Storage на примере LeoFS, Алек...
2014.12.06 05 Александр Бындю — Сustomer statisfaction для разработчиков
2014.12.06 05 Григорий Коченов — Геймификация сегодня
2014.12.06 06 Александр Зарубин — Аутсорсо диспансер. Как броить аутсорс и на...
2014.12.07 08 Влад Коробов — Дизайн мобильного приложения. Где начало и конец
2014.12.06 03 Геннадий Омышев — Рецепт приготовления фирменного стиля
2014.12.06 08 Станислав Триерс — Возможности ФРИИ для стартапов
2014.12.06 02 Иван Евтухович — Как бы я запускал собственный бизнес сейчас
2014.12.06 06 Григорий Коченов — Мобильная стратегия. Как правильно спланиров...
2014.12.06 06 Алёна Паньшина — Простой обмен данными с пользователями на прим...
2014.12.06 04 Максим Дорофеев — 18 месяцев свободного плавания. Деформация со...
2014.12.06 02 Артемий Фоминых — Нейминг в условиях ограниченного тайминга
2014.12.06 02 Екатерина Боброва — Тестируем сложные backend-ы
2014.12.07 11 Лета Штольц — Знай наших! Как стать известным в сообществах
2014.12.06 04 Евгений Тюменцев — Откуда появились s.o.l.i.d. принципы
2014.12.06 05 Антон Плешивцев — Разбираем естественные языки на Lisp'е
2014.12.07 10 Анна Дмитриева — Продвижение проекта после релиза
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
HappyDev`12 - Александр Кудымов - Любовь и честность в интерфейсах
Данил Снитко - Креативное агентство, работающее в кайф | HappyDev'12
Ad

Similar to 2014.12.06 03 Александр Чистяков — Устройство object storage на примере LeoFS (20)

PDF
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
PDF
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...
PPTX
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
PPTX
Опыт эксплуатации большого проекта на Ruby
PDF
AVITO. Решардинг Redis без даунтайма. DevConf 2012
PDF
ekbpy'2012 - Данила Штань - Распределенное хранилище
PPTX
Daemons In Web on #devrus
PPTX
Open source субд глазами обычного программиста
PDF
Слон желтого цвета и его друзья (эксплуатация Hadoop-стека в федеральном прое...
PDF
High Load 2009 Imdg Presentation
PDF
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...
PPTX
Путь мониторинга, DevOps club в Grammarly
PDF
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
PDF
Там, где Rails не справляются
PDF
Обзор перспективных баз данных для highload / Юрий Насретдинов
PDF
PDF
HBase on Dev{Highload}
PDF
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Эксплуат...
PDF
Cравнительный анализ хранилищ данных (Олег Царев, Кирилл Коринский)
PDF
Владимир Русинов, Алексей Капранов "Яндекс.Диск: архитектура, синхронизация и...
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
Опыт эксплуатации большого проекта на Ruby
AVITO. Решардинг Redis без даунтайма. DevConf 2012
ekbpy'2012 - Данила Штань - Распределенное хранилище
Daemons In Web on #devrus
Open source субд глазами обычного программиста
Слон желтого цвета и его друзья (эксплуатация Hadoop-стека в федеральном прое...
High Load 2009 Imdg Presentation
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...
Путь мониторинга, DevOps club в Grammarly
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
Там, где Rails не справляются
Обзор перспективных баз данных для highload / Юрий Насретдинов
HBase on Dev{Highload}
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Эксплуат...
Cравнительный анализ хранилищ данных (Олег Царев, Кирилл Коринский)
Владимир Русинов, Алексей Капранов "Яндекс.Диск: архитектура, синхронизация и...

More from HappyDev (20)

PPT
2015-12-06 Aнтон Непомнящих - Принципы канбан и теории ограничений на примере...
PPT
2015-12-05 Антон Непомнящих - Agile — как уложиться в сроки и бюджет?
PPTX
2015 12-05 Александр Шиповалов - Инструмент для тестирования Sikuli script
PPTX
2015-12-06 Константин Борисов - Как собеседовать программиста?
PDF
2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных
PPTX
2015-12-06 Букуров Алексей - Автоматическое формирование интерфейса по метаоп...
PDF
2015-12-06 Евгений Тюменцев - Практики разработки серверных приложений
PDF
2015-12-06 Александр Чернышев - Технологии открытости мобильных приложений
PDF
2015-12-05 Вадим Литвинов - Нагрузочное тестирование с MZBench
PPTX
2015-12-05 Александр Шиповалов - Веселые картинки в тестировании
PPTX
2015-12-05 Александр Бындю, Андрей Шапиро - Пять самых важных составляющих пр...
PDF
2015-12-05 Александр Коротков, Иван Панченко - Слабо-структурированные данные...
PDF
2015-12-06 Юрий Мельничек - Руководство для разработчиков по маркетингу мобил...
PPT
2015-12-06 Сергей Хрущев - Человеческим языком о суперкомпьютерах
PDF
2015-12-06 Максим Юнусов - Проектирование REST приложения, или нужно ли прогр...
PDF
2015-12-06 Евгений Тюменцев - Разработка надежных параллельных, распределенны...
PDF
2015-12-06 Артем Зиненко - Что делать, если браузеры клиентов действуют проти...
PDF
2015-12-06 Антон Тарасенко - Ваш следующий сервис будет асинхронным
PDF
2015-12-06 Андрей Коновалов - От сервисной компании к продуктовой: что нужно,...
PDF
2015-12-05 Вадим Литвинов - Проблемы разработки распределённых систем
2015-12-06 Aнтон Непомнящих - Принципы канбан и теории ограничений на примере...
2015-12-05 Антон Непомнящих - Agile — как уложиться в сроки и бюджет?
2015 12-05 Александр Шиповалов - Инструмент для тестирования Sikuli script
2015-12-06 Константин Борисов - Как собеседовать программиста?
2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных
2015-12-06 Букуров Алексей - Автоматическое формирование интерфейса по метаоп...
2015-12-06 Евгений Тюменцев - Практики разработки серверных приложений
2015-12-06 Александр Чернышев - Технологии открытости мобильных приложений
2015-12-05 Вадим Литвинов - Нагрузочное тестирование с MZBench
2015-12-05 Александр Шиповалов - Веселые картинки в тестировании
2015-12-05 Александр Бындю, Андрей Шапиро - Пять самых важных составляющих пр...
2015-12-05 Александр Коротков, Иван Панченко - Слабо-структурированные данные...
2015-12-06 Юрий Мельничек - Руководство для разработчиков по маркетингу мобил...
2015-12-06 Сергей Хрущев - Человеческим языком о суперкомпьютерах
2015-12-06 Максим Юнусов - Проектирование REST приложения, или нужно ли прогр...
2015-12-06 Евгений Тюменцев - Разработка надежных параллельных, распределенны...
2015-12-06 Артем Зиненко - Что делать, если браузеры клиентов действуют проти...
2015-12-06 Антон Тарасенко - Ваш следующий сервис будет асинхронным
2015-12-06 Андрей Коновалов - От сервисной компании к продуктовой: что нужно,...
2015-12-05 Вадим Литвинов - Проблемы разработки распределённых систем

2014.12.06 03 Александр Чистяков — Устройство object storage на примере LeoFS

  • 1. Устройство object storage На примере LeoFS Alexander Chistyakov, Git in Sky
  • 2. Привет, HappyDev! ●Меня зовут Саша ● И я – performance engineer ● Работаю на должности главного инженера в компании Git in Sky
  • 3. Привет, Саша! ●Мы – веб разработчики! ●Мы – системные администраторы! ●Мы – архитекторы! ●Мы еще пока не определились!
  • 4. О чем пойдет речь ● “Я вообще думаю, может БД поменять на что-нибудь NoSQL” © типичный разработчик ● Если не БД – то файловую систему, хотя бы
  • 5. Предыстория ● HighLoad 2012 – https://clck.ru/9Lutd (не я) ● DevConf 2014 – https://clck.ru/9Lutw (уже я) ● Клиент – Setup.ru (конструктор сайтов) ● 100+ млн. пользовательских файлов ●Метаинформация в PostgreSQL ● Сами файлы – в PostgreSQL через LO API
  • 6. Наше время ● Проект на Perl (был когда-то такой язык) ● Хостинг – Hetzner (лучше уж Perl) ● Текущая конфигурация машин в Hetzner не имеет дисков достаточного объема (8 терабайт - максимум) ●Мы должны были уметь хранить больше чем 8Тб файлов уже вот прямо вчера
  • 7. Как быть? ● Делегировать эту задачу Amazon ● Построить свой Amazon: ● Elliptics ● OpenStack Swif ● Ceph Object Gateway ● Riak CS ● LeoFS
  • 8. Общее для всех ● HTTP REST или Amazon S3 интерфейс ● Автоматическая репликация ● Автоматическая отказоустойчивость ● Легкое добавление новых узлов
  • 9. Устройство любого object storage ● Узлы, на которых хранятся данные ● Узлы, на которых хранятся метаданные ●Маршрутизаторы запросов к первым двум ● Background workers ● Как я уже говорил однажды в Омске: Любой* NoSQL – несколько локальных хранилищ + роутер запросов к ним *не любой
  • 10. Надо сделать выбор ● Erlang – как Python, только лучше* ●Mnesia и LevelDB – как SQLite, только лучше* ● DuckDuckGo – как Yandex, только лучше* ● Интегрированный механизм кэширования лучше*, чем его отсутствие ● LeoFS: Erlang, Mnesia, LevelDB, не Yandex, интегрированное кэширование *не лучше
  • 11. Последствия выбора ● Примерно как у свадьбы, только развестись гораздо сложнее ● Помехи при выборе: ● Эффект Даннинга-Крюгера ● Ошибка выживших ● Недостаточность и плохое качество информации о решении в Интернете
  • 12. Устройство LeoFS ● LeoFS manager – хранит метаданные ● LeoFS storage – хранит данные ● LeoFS gateway – маршрутизирует запросы и кэширует контент локально ● LeoFS manager – единая точка отказа ● Поэтому их делают два: master и slave
  • 13. Устройство LeoFS ● LeoFS manager использует Mnesia ● LeoFS storage использует LevelDB ●Mnesia – распределенная СУБД из стандартной поставки Erlang ● LevelDB – key-value storage, разработана в Google, представляет собой LSM-tree
  • 14. Устройство LeoFS ● Внутренние процессы: ● LevelDB нужно компактить* ● При добавлении/удалении нод нужно перестраивать кольцо маршрутизации ●Можно временно включать/выключать узел ● К счастью, все это делается вручную * не всем
  • 15. Развертывание LeoFS ● Для развертывания чего угодно я использую Ansible ● Playbooks для LeoFS: https://clck.ru/9Lx73 ● (По ссылке старая версия, сейчас все переделано на установку через роли)
  • 16. То, ради чего все затевалось ● Отказоустойчивость: ● В конфигурационном файле задается количество реплик и ● Количество успешных операций ● Чтения ● Записи ● Удаления
  • 17. Как это выглядит у нас ● Данные хранятся на 5 узлах, 8 потребителей ●
  • 18. Что мы храним ● Все хранимые объекты больше 64 килобайт ● Всего хранится 7 терабайт таких объектов ● Только 15-20% запросов идет в LeoFS, объекты размером менее 64К по- прежнему отдаются из PostgreSQL
  • 19. Домашняя работа ● Найдите на графике момент отказа*: * я и сам не найду
  • 20. Ура, графики! ● Количество запросов к хранилищу:
  • 21. Еще графики! ● Нагрузка на сеть:
  • 22. И еще графики! ● Нагрузка на диск:
  • 23. Плюсы ● 12 июня – начало выбора технологии ● Через пару дней – начало внедрения ● К августу развернут параллельный “старому” новый сторадж на LeoFS ● В сентябре переезд полностью состоялся ● В августе умер один из пяти узлов – заменили целиком, юзеры не заметили
  • 24. Минусы ● График latency (достаточно неторопливо):
  • 25. Подводные камни ● Клиентские библиотеки S3 все плохого качества ● При отказе узла latency еще возрастает ● Если на gateways включено кэширование на диск, и на диске кончается место – latency возрастает неимоверно ● Балансировка контента не автоматически (и это плюс)
  • 26. Границы применимости ●Мы храним статический контент ●Мы никогда не модифицируем, всегда – новый URL ●Мы никогда не удаляем контент ● Наши пользователи лояльно относятся к latency (это обусловлено тем, что существует два типа контента)
  • 27. Выводы ● Нельзя просто так взять и заменить RDBMS (FS, whatever) на NoSQL
  • 28. Спасибо за внимание! ● С вами был Александр Чистяков ● Из компании Git in Sky ● http://gitinsky.com ● alex@gitinsky.com ● http://twitter.com/noatbaksap ● http://meetup.com/DevOps-40