Similar a 12 HappyDev-lite-2014. Иван Погудин, Анатолий Никулин. Решение задач, связанных с высокими нагрузками и обработкой больших объемов данных. (20)
4. Горизонтальное масштабирование
• Увеличивается количество элементов
• Возрастает вероятность отказа
• Усложняются механизмы взаимодействия
• Дешевле чем вертикальное после достижения
определённого масштаба
8. Hadoop
• Java
• Map/reduce
• HDFS - распределённая файловая система
• HBase - база данных
• Де-факто стандарт для обработки больших данных
9. Storm
• Сlojure
• Stream processing
• Топология (Topology)
• Краны (spouts) и изгибы (bolts)
• Java-API и другие языки
10. Базы данных (NoSQL)
• Memcached (http://memcached.org)
• Redis (http://redis.io)
• Cassandra (http://cassandra.apache.org/)
• MongoDB (http://www.mongodb.org/)
• Aerospike (http://www.aerospike.com/)
11. Memcached
• Хэш таблица с доступом по ключу
• Распределённый
• Данные только в памяти
• set, add, replace, append, prepend, cas, get, gets,
delete, incr, decr
12. Redis
• key-value cache and store
• strings, hashes, lists, sets, sorted sets, bitmaps
• persistence (snapshots)
• репликация (master-slave)
• redis cluster в процессе
15. Aerospike
• SSD + memory
• Сложные структуры данных (списки, хэш таблицы и
т.д.)
• aql
16. Дьявол в деталях
• Оптимизации (мелкое в рамках одной операции
становится крупным при большом их числе)
• Необходимость поиска компромисса (память, процессор,
диск, сеть)
• Механизмы взаимодействия элементов распределённой
системы
• Отказоустойчивость
• И многое многое другое
24. Users:
• Количество интернет пользователей: 3 млрд.
• Количество смартфонов: 1.3 млрд.
• Количество СМС в день: 25 млрд.
25. Hadoop - наше всё
Платформа для:
Хранения и распределенной обработки данных
(распределенных вычислений).
Hadoop is a large-scale distributed batch processing
infrastructure