HighLoad++ Junior пройдёт 21 и 22 мая в рамках фестиваля РИТ++
К докладчикам
HighLoad++ Junior предъявляются повышенные требования — они не только должны хорошо знать тему, но и быть опытными лекторами. Новичку попасть в Программу невозможно — члены Программного комитета посетили этой весной ВСЕ технологические конференции Рунета, чтобы составить собственное мнение о потенциальных кандидатах (это не преувеличение).
Логика проектирования
Начнём мы с доклада об общей логике построения крупных проектов, о масштабируемой архитектуре и самой логике проектирования. Этот доклад задаст канву всего остального повествования, все два дня мы будем раскрывать заданные им координаты.
Масштабирование бекендов
Сначала
Александр Макаров (Yii) расскажет о том, КАК нужно писать код, чтобы затем его можно было масштабировать. Stateless, shared nothing, уровни абстракции и другие принципы, которые сделают возможным будущий рост вашего проекта. Да, да, можно так написать код, что масштабирование будет невозможным принципиально. О том, как этого избежать — доклад Александра.
Кэширование данных
Самая первая оптимизация под нагрузку — введение кеширования. Но что кешировать? Как грамотно кешировать? Где кешировать? Обо всём этом расскажет Юрий Краснощек. Его доклад раскрывает тему кеширования полностью — от отдачи правильных заголовков для кеширования браузером и до выбора инструмента для хранения кеша на серверной сторое.
Оптимизация SQL-запросов
Научившись масштабировать бекенды, мы, рано или поздно, столкнёмся с проблемой нагрузки на базу данных. Сначала мы попробуем
откосить от масштабирования, то есть займёмся оптимизацией запросов и индексов.
Илья Космодемьянский (PostgreSQL-Consulting) и
Василий Лукьянчиков (SQLInfo.ru) расскажут про основы основ — работу индексов в базах данных PostgreSQL и MySQL (и это разные дисциплины), а также научат вас читать explain. Ускорив недавно сайт ИТАР-ТАСС в десять раз только с помощью грамотного чтения explain, я могу подписаться бессонными ночами: эти доклады — обязательны к изучению.
Шардирование и репликация
Мы выжали всё из базы данных — тут вступает
Денис Иванов (2Gis) и рассказывает про масштабирование базы через шардирование и партиционирование. Как создать сегментированную таблицу? Использование constraint (ограничений). Выборка данных из сегментированных таблиц. Как управлять сегментами таблицы: вставка, удаление, изменение данных. Индексы и триггеры в сегментированных таблицах и так далее.
Очереди и NoSQL
Свет клином на реляционных базах не сошёлся и мы приступаем к изучению других способов структуризации, хранения и обработки данных. Про очереди и паттерны использования очередей в высоконагруженных проектах расскажет Константин Осипов (Tarantool), а про нереляционные СУБД, принципы действия оных и смысл существования NoSQL —
Сергей Туленцев.
И это мы дошли только до трети Программы! Доклад должен быть логичен, структурирован, понятен, прост по подаче, но вовсе не обязательно по содержанию. Мы пытаемся не только научить, но и структурировать знания слушателей.
Во второй части обучающей конференции мы всё больше и больше будем говорить о конкретных инструментах (Tarantool, Redis, Hadoop), конкретных архитектурных паттернах (кеширование, файловое хранилище) и о конкретных процессах (выбор хостинга, эксплуатаци). Обо всём этом вы можете прочитать на сайте конференции.