Коля. Заметки
Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
черновики:коля._заметки [11.05.2017 11:00] 127.0.0.1 внешнее изменение |
черновики:коля._заметки [20.05.2019 15:18] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ===== Почитать/посмотреть. ===== | + | ===== DELME ===== |
- | + | ||
- | ==== Курс лекций "Алгоритмы во внешней памяти". Максим Бабенко. ==== | + | |
- | + | ||
- | [[http://www.youtube.com/embed/KsPv6X9ysqI]] | + | |
- | [[http://www.lektorium.tv/lecture/13929]] | + | |
- | + | ||
- | На курсе рассказывают про алгоритмы, которые работают с данными, которые, по тем или иным причинам, не могут поместиться в оперативную память (когда файлы лежат на HDD/SSD или, например, в хадупе на HDFS). Объясняется сложность таких алгоритмов, относительно количества дисковых операций, теория подана довольно просто и интуитивно, мозг хорошо настраивается на мысль, что не так важна производительность кода, когда доступ к данным такой дорогой. | + | |
- | + | ||
- | На 3-4й лекции завтыкал, примеры про алгоритмы на графах мне не очень близки. Может, почитаю про эти алгоритмы в памяти и пересмотрю как все меняется, когда граф окажется очень большим. Но первые лекции очень хороши. | + | |
- | + | ||
- | В последней [[http://www.youtube.com/embed/uCfgk1sx_Pg|лекции]] акцент смещают с внешней памяти и оперативной на CPU-кеш и оперативную память. Скорости тут, конечно, будут другие, но порядок, на который отличается скорость доступа к кешу и ОЗУ, и порядок ОЗУ и HDD примерно одинаков, на мой взгляд. 5 лекция будет сама по себе полезна, если тебе нужен быстрый алгоритм, который работает с данными в ОЗУ. Минимизация доступа к ОЗУ сможет дать большой прирост производительности, да и круто это, знать как работает кеш в CPU :) | + | |
- | + | ||
- | Вместо пятой лекции, конечно, советую прочитать "What Every Programmer Should Know About Memory" [[https://www.akkadia.org/drepper/cpumemory.pdf|https://www.akkadia.org/drepper/cpumemory.pdf]] , но там много, и мне плохо зашли части про бечмаркинг скорости, т.к. нет под рукой проекта, на который я могу примерять цифры, чтобы их осознавать. | + | |
- | + | ||
- | ==== Курс лекций "Методы и системы обработки больших данных". Иван Пузыревский. ==== | + | |
- | + | ||
- | \\ | + | |
- | [[http://www.youtube.com/embed/IHVIFVZeXcA]] | + | |
- | [[http://www.lektorium.tv/lecture/30079]] | + | |
- | + | ||
- | [[http://compsciclub.ru/courses/bigdatasystems/2017-spring/]] | + | |
- | + | ||
- | Очень качественный и свежий курс про распределенные системы, про их работу под капотом. Речь идет про системы хранения, очереди и БД: HDFS, HBase, Cassandra, Kafka; про MapReduce и системы потоковой обработки: Hadoop MapReduce, Spark, Storm, Spark Streaming, плюс две лекции про Zookeeper и одна про Hive. | + | |
- | + | ||
- | Внешнее API систем и примеры использования приведены в основном для общего понимания, основная часть сосредоточена на внутренней архитектуре систем. Очень полезно для определения применимости этих систем в ваших проектах, поможет самостоятельно прикидывать производительность при применении той или иной технологии. | + | |
- | + | ||
- | На лекциях разбирается архитектура, строение и алгоритмы, на которых основываются системы. Начинается все с HDFS из хадуповского стека, который является базовым строительным блоком распределенной системы на базе hadoop, на его примере также разбирается работа и деплой кода в hadoop YARN. | + | |
- | + | ||
- | Довольно забавно было, когда после первой лекции про HDFS была полная уверенность в том, что оно точно не подходит для БД, а в 3й лекции рассказывают про быстрый и производительный HBase, который хранит свои данные в HDFS и делает это консистентно. | + | |
- | + | ||
- | В лекциях было очень мало информации про свежие фичи данных систем, про интересное API, примеры производительных интеграций. Сложилось такое ощущение, что какой-нибудь MapReduce с помощью твиков можно разогнать на пару порядков (Spark как раз один из известных твиков, хе-хе). Но тогда можно было бы ожидать по 11 лекций на каждую систему, вместо одной, да и цель курса немного не про это. Тема API и применимости также рассматривается в хорошей книге [[http://dmkpress.com/catalog/computer/databases/978-5-94074-866-3/|Семь баз данных за семь недель]], основной плюс которой в ее компактности, так что материал там изложен довольно сумбурно. | + | |
- | + | ||
- | В общем, если вы вечно путаете все эти модные словечки из темы MapReduce, не можете запомнить чем отличается Spark и Storm, Spark/HBase/Riak - после просмотра лекций у вас надолго в голове останутся "крючки", за которые в будущем можно будет легко сориентироваться в этом зоопарке. | + | |
- | + | ||
- | P.S. нужно будет пересмотреть [[https://www.youtube.com/watch?v=9ANuWEZqCUg|Яндекс изнутри: инфраструктура хранения и обработки данных]], что на самом деле в тренде. | + | |
- | P.P.S. [[https://www.youtube.com/watch?v=BCVsgup8hUQ|Как устроен поиск Яндекса: о чём невозможно прочитать]] - тоже прикольный видос, давно смотрел, уже не помню про что там. | + | |
- | + |