Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Лекция 3. Распределённая файловая система HDFSTechnopark
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"Technopark
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №10 "Нереляционное решение в области баз данных — NoSQL". Лектор - Станислав Ступников.
Вводная часть посвящена определению и истории развития концепции NoSQL. Даются характеристики, рассказывается о способах использования. Рассматриваются виды NoSQL БД, теоретические основы NoSQL, а в конце лекции обсуждаются недостатки NoSQL-решений, а также проводится сравнение разных NoSQL-решений.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
Лекция 1. Введение в Big Data и MapReduceTechnopark
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Лекция 3. Распределённая файловая система HDFSTechnopark
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"Technopark
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №10 "Нереляционное решение в области баз данных — NoSQL". Лектор - Станислав Ступников.
Вводная часть посвящена определению и истории развития концепции NoSQL. Даются характеристики, рассказывается о способах использования. Рассматриваются виды NoSQL БД, теоретические основы NoSQL, а в конце лекции обсуждаются недостатки NoSQL-решений, а также проводится сравнение разных NoSQL-решений.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
Лекция 1. Введение в Big Data и MapReduceTechnopark
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Создание электронной библиотеки научных трудов на платформе Dspacebntulibrary
Создание электронной библиотеки научных трудов на платформе Dspace
Создатель презентации Дедёнок Юрий Леонидович, зав. сектором формирования репозитория и развития интернет-технологий НБ БНТУ
Презентация российской компании Postgres Professional о новой версии СУБД Postgres Pro, которая по сравнению с PostgreSQL обладает рядом возможностей необходимых корпоративным клиентам.
Про некоторые кейсы использования elasticsearch в современных проектах.
- С какими сложностями столкнулись
- Где успешо применили elasticsearch, а где был избыточен
Презентация с мероприятия https://habr.com/ru/company/odnoklassniki/blog/452978/
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...Pavel Dovbush
История развития проекта с точки зрения клиентских технологий - от веб-сайта к появлению мобильных клиентов и смещению фокуса к mobile-first разработке. Общие черты нашей архитектуры и их отличия от стандартных решений.
Единый протокол общения с приложениями iOS/Android/WindowsMobile/MobileWeb/Web и особенности реализации для JavaScript платформ (десктопные и мобильные браузеры).
Изменение процесса разработки и подходов к реализации нового функционала для переключения на mobile-first стратегию.
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"Alexey Zinoviev
Alexey Zinoviev Алексей Зиновьев рассказывает о выборе одной из следующих баз данных CouchDB, Neo4j, Mongo, Cassandra, HBase, Riak на Happydev 2013
Article "Choice of NoSQL database for your project: Don't bite off more than you can chew" presented on HappyDev 2013 (IT-conference in Omsk) by Alexey Zinoviev
The main idea of this article is comparison of the most popular NoSQL databases: CouchDB, Cassandra, Mongodb, Riak, Neo4j, HBase
Создание электронной библиотеки научных трудов на платформе Dspacebntulibrary
Создание электронной библиотеки научных трудов на платформе Dspace
Создатель презентации Дедёнок Юрий Леонидович, зав. сектором формирования репозитория и развития интернет-технологий НБ БНТУ
Презентация российской компании Postgres Professional о новой версии СУБД Postgres Pro, которая по сравнению с PostgreSQL обладает рядом возможностей необходимых корпоративным клиентам.
Про некоторые кейсы использования elasticsearch в современных проектах.
- С какими сложностями столкнулись
- Где успешо применили elasticsearch, а где был избыточен
Презентация с мероприятия https://habr.com/ru/company/odnoklassniki/blog/452978/
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...Pavel Dovbush
История развития проекта с точки зрения клиентских технологий - от веб-сайта к появлению мобильных клиентов и смещению фокуса к mobile-first разработке. Общие черты нашей архитектуры и их отличия от стандартных решений.
Единый протокол общения с приложениями iOS/Android/WindowsMobile/MobileWeb/Web и особенности реализации для JavaScript платформ (десктопные и мобильные браузеры).
Изменение процесса разработки и подходов к реализации нового функционала для переключения на mobile-first стратегию.
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"Alexey Zinoviev
Alexey Zinoviev Алексей Зиновьев рассказывает о выборе одной из следующих баз данных CouchDB, Neo4j, Mongo, Cassandra, HBase, Riak на Happydev 2013
Article "Choice of NoSQL database for your project: Don't bite off more than you can chew" presented on HappyDev 2013 (IT-conference in Omsk) by Alexey Zinoviev
The main idea of this article is comparison of the most popular NoSQL databases: CouchDB, Cassandra, Mongodb, Riak, Neo4j, HBase
The document discusses touch and gesture handling in modern web applications. It covers touch events like touchstart, touchmove, touchend and their mouse event equivalents. It also describes how to implement swipe/scroll gestures, zooming functionality using touch inputs, and pull to refresh features using touchstart and touchmove events. Key aspects covered include detecting swipe direction, translating pages on swipe, handling touch and click events for links and taps, and transforming elements on zoom gestures.
This document discusses the development of high-performance services at Mail.ru for tasks like serving avatars. It describes how they use technologies like Perl, AnyEvent, IProto and Tarantool to process over 100,000 requests per second on a single server. Key points are:
1. Mail.ru uses Perl 7 with AnyEvent and IProto to build asynchronous services that can handle 40,000-120,000 requests per second per core.
2. They store data in the Tarantool NoSQL database for its performance and ability to handle multiple indexes.
3. By using these technologies like async Perl and Tarantool, they can process over 100,000 requests per second with a
С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)Ontico
+ Обзор внутреннего устройства Hadoop и продуктов вокруг;
+ Как можно использовать для решения (спектр);
+ Как подходить к обоснованности использования даже в небольших проектах;
+ Hadoop в Badoo - история успеха;
+ Hadoop в Badoo - история проблем.
Александр Крашенинников "Hadoop High Availability: опыт Badoo"IT Event
Инфраструктура Hadoop – популярное решение для таких задач, как распределённое хранение данных и вычисления Map/Reduce на кластере. Хорошая масштабируемость и развитая экосистема подкупают и обеспечивают Hadoop’у прочное место в инфраструктуре различных информационных систем. Но чем больше ответственности возлагается на этот компонент, тем важнее обеспечивать его отказоустойчивость и high availability.
Hadoop framework is a popular solution to such tasks as distributed data storage and running. Map/Reduce tasks on cluster. High scalability, mature ecosystem and large community make Hadoop one the most popular framework in distributed data processing. But the more responsibility you put on it, the more important it becomes to provide its fault-taulerance and high availability. This presentation will be useful to those, who have already been using Hadoop. For the rest it will be interesting to learn some architectural solutions applied in Hadoop.
In my presentation I will cover aspects of high availability implementation for Hadoop.
Besides, I will talk on:
– “The zoo” we have to deal with;
– Why we should provide high availability: points of system failure and its consequences;
– Tools and solutions to such problems;
– Our practical experience of implementation: preparation, deploy, testing.
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Open source субд глазами обычного программистаSlach
Попытался "быстренько" пробежаться по всем СУБД с которыми работал за 20 лет и постараться вложить слушателям мысль что СУБД надо выбирать под нагрузку
и что для СУБД надо знать "алгоритмы" и "эксплуатацию"
3. Hadoop: что это?
Хранение и обработка больших объемов
данных (петабайты)
1 PiB = 250 Bytes ~ 1015 Bytes
Пользователи: Twitter, Yahoo, Facebook,
LinkedIn
Применение: логи, аналитика, data mining/
machine learning
4. Hadoop: point 1 - Sequential IO
Пример: 1010 записей по 100 байт (1 ТБ), изменяем 1% записей (одна машина, один диск).
Случайный доступ: 1 месяц, линейное чтение-запись: 5.5 часов. Ускорение в 120 раз.
5. Hadoop: point 2&3 - Data locality & Replication
Типовой сервер:
● 1-2 GiGE ports = 120-240 MB/s
● 4-10 Disks = 320-800 MB/s
Вывод: обрабатывать данные нужно там же где и хранить.
Время наработки на отказ диска 500k часов (57 лет).
Если в системе 1000 дисков - 2 мертвых диска в месяц.
Вывод: репликация - обязательна.
7. MapReduce
Способ организации вычислений.
1. Map(key1, value1) → [{key2, value2}]
2. Shuffle([{key2,value2}] → [{key2,[value2]}]
3. Reduce(key2, [value2]) → [value3]
Бенефиты:
● масштабируемость по данным
● концентрация на логике обработки
9. HBase
Распределенное key-value хранилище поверх HDFS.
Пространство ключей разбивается на регионы, распределяемые между
несколькими серверами и хранящиеся в HDFS. Значения группируются по
семействам колонок (CF).
Поддерживаемые операции:
● scan - проход по подмножеству ключей и значений
● put - запись нового значения
● delete
11. Hadoop в поиске Фетчер: обработка
заданий на
закачку
Контент
● хранение и обработка логов (0.5 Задания
ПБ) Логи
● данные хранилище скачанных
данных перед импортом в HBase
Hadoop
● промежуточные результаты Контент,
● данные для индексирования флаги, ранки,
зоны, и т.п.
● бэкапы готовых баз
Индексаторы: готовят
поисковый индекс
Главное: хранилище HBase
12. HBase в поиске: webpages
Ключ: ссылка вида com.vk:http/help.php?page=about
Семейства колонок: flags, crawl, link, rf, imgjoin, parsed, snap
Данные: всё о страницах
● состояние фетчера - когда качали/будем качать, что получили, и т.д.
● флаги - стопицот классификаторов
● ссылки - кто ссылается, на кого ссылается
● ранжирование - стопицот параметров
● картинки
● оригинальный контент
● обработанный контент
Самая толстая таблица, 230 ТБ, 20 млрд ссылок, 10 млрд страниц с контентом.
Количество значений ~500 млрд.
В таблице 7000 регионов, средний размер региона 31 Гб.
13. HBase в поиске: queries & websites
Queries: информация о запросах пользователей, используется в опечаточнике и
ранжировании. Используются фичи HBase: версионность и TTL.
Размер 5.3 ТБ, 7 млрд строк.
Websites: данные о сайтах. Хранится состояние фетчера и ранжирования.
Размер 85 Гб, 200 млн строк.
14. Основные процессы
Fetcher - закачка интернетов:
● Подготовка заданий
● Закачка (отдельные сервера)
● Заливка данных в HBase
● Чистка базы от старых
записей
● Заливка URL'ов
● Дамп контента в индексаторы
● Прочее: sitemaps, robots, etc.
15. ТТХ
160 машин, 8 ТБ памяти, 2.5 ПБ диски. За последние полгода выросли в 8 раз.
Типовая конфигурация: 16 ядер, 50 ГБ, 8-14 дисков по 2 ТБ. Сеть - 2*GiGE.
16. Грабли: compactions
Compact - процесс слияния нескольких файлов с данными в один. Minor - сливаются несколько
небольших файлов. Major - все файлы семейства колонок объединяются в один.
Ошибка HBase - все minor compact превращались в major.
В результате, каждая заливка
выливалась в перелопачивание
сотен терабайт данных.
Решение: https://github.
com/Shmuma/hbase/commits/com
pact-promotion
После исправления,
интенсивность ввода-вывода
уменьшилась в 8 раз.
17. Грабли: деление регионов
Для эффектвного выполнения сканов, обработка всех регионов должна занимать примерно одно
время. Однако, в случае сложной схемы данных, этот критерий разный для разных задач.
Возможные критерии деления:
1. размер региона (реализована в HBase)
2. количество записей в регионе/колонке
3. отклонение размера колонки региона от среднего
4. время обработки региона неким набором задач
Текущее решение - №3. Проблемы:
● временные всплески в размере регионов, вызывающие их необратимое деление
● неточность деления (много пустых ссылок занимают такой же объем что и мало больших
документов)
Решение: переход на хэшированые ключи. Недостаток: сложно удалять опрометчиво залитые данные.
18. Грабли: быстрые сканы
Везде в литературе по HBase рекомендуют заводить не более 1-2 CF. На самом
деле все не так. В случае разнородных данных и разнообразия методов их
обработки, много CF - способ повышения производительности.
Проблема: при скане, по признакам из маленькой колонки (флаги) отбираются
редкие данные из большой колонки (snap). При этом hbase читает все данные
из обеих CF.
Решение: https://issues.apache.org/jira/browse/HBASE-5416
Ускорение сканов ~20 раз.
19. Тайные знания
● dfs.datanode.socket.write.timeout = 300000 (5 мин). Везде рекомендуют
выставлять в 0. Ноль ведет к залипанию потоков RS.
● mapred.reduce.parallel.copies = 2. Везде рекомендуют поставить
побольше. Копирование ускоряется, но одновременные копии валят RS.
● io.sort.factor = 10. Рекомендации - чем больше, тем лучше. Это бред -
большие значения ведут к превращению последовательных операций в
случаные и отстрелу RS.
● mapred.job.tracker.handler.count = 20. Связано с parallel.copies - ставить
сильно много тоже плохо.
● hbase.server.versionfile.writeattempts = 10.
20. Итоги и перспективы
В целом, итоги использования Hadoop и HBase
положительные.
Основной позитивный момент - предоставление команде
разработчиков поиска эффективного инструмента для
работы с полной копией рунета.
21. СПАСИБО!
Максим Лапань
Ведущий разработчик, Поиск@mail.ru
lapan@corp.mail.ru