Про некоторые кейсы использования elasticsearch в современных проектах.
- С какими сложностями столкнулись
- Где успешо применили elasticsearch, а где был избыточен
Презентация с мероприятия https://habr.com/ru/company/odnoklassniki/blog/452978/
- Как начать развивать систему аналитики в компании, не имея армию data-инженеров.
- Как перейти из состояния «я не понимаю какие квадратики на этой схеме нужны для моих задач» и при этом не уйти в R&D на несколько месяцев.
- Как реализовать потоковую обработку данных на PHP (~40К записей в минуту).
- Какие технические решения применяли в нашем решении и какие факторы учитывали в принятии решений.
Презентация с мероприятия https://habr.com/ru/company/tuturu/blog/426059/
ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидо...Ontico
ClickHouse - высокопроизводительная база данных для больших данных и аналитики.
На ClickHouse основана Яндекс.Метрика - крупнейшая система веб-аналитики в России.
Ради чего мы написали свою базу данных? Ради скорости! ClickHouse работает невероятно быстро, быстрее всех известных нам конкурентов, и при этом может обрабатывать запросы по петабайтам данных.
Я расскажу про:
- Краткую историю создания проекта;
- Основные преимущества и особенности ClickHouse;
- Архитектура проекта; подход к хранению данных, отказоустойчивости, исполнению запросов;
- Как работает внутри, почему ClickHouse такой быстрый;
- Текущие кейсы использования в Метрике и других проектах Яндекса;
- Профит, который вы можете получить от ClickHouse.
High load++2016.highlights (dropbox+clickhouse)Pavel Alexeev
Highload++ 2016 short present of 3:
Оригинальные доклады, рекомендуемые к просмотру:
* Особенности архитектуры распределённого хранилища в Dropbox. Слава Бахмутов (SRE в группе разработки стораджа в Dropbox) - http://www.highload.ru/2016/abstracts/2257.html
* ClickHouse: очень быстро и очень удобно. Виктор Тарнавский (Руководитель разработки аналитических продуктов в Яндексе), Алексей Миловидов (Главный разработчик ClickHouse) - http://www.highload.ru/2016/abstracts/2327.html
* Переезжаем на Yandex ClickHouse - Александр Зайцев (LifeStreet) - http://www.highload.ru/2016/abstracts/2297.html
Выбор 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
Промышленное ускорение сайтов / Николай Мациевский (Айри.рф)Ontico
Идея: обеспечить реально высокую скорость загрузки нагруженного сайта (от 100 тысяч посетителей в день) для всех пользователей, ничего не сломав и уложившись в бюджет.
Введение. Подходы к оптимизации фронтенда:
* Классический: делаем по GPSI или WPT.
* Самостоятельный: прикрутили PageSpeed и CDN.
* Промышленный: PDSA (попробовали, измерили, внедрили, подсчитали).
* Кейс: открытие новостного сайта за 1 секунду на любом устройстве.
Часть 1. Мониторинг клиентской производительности
* Google Analytics / Яндекс.Метрика / Битрикс.
* New Relic / mPulse / Айри / Navigation Timing API.
* Resource Timing API / User Timing Api: собственные метрики.
* Кейс: как понять из метрик сайта, что и где тормозит.
Часть 2. Внедрение ускорения
* Как выбрать KPI скорости сайта.
* Базовые правила: как автоматизировать, внедрить, раскатать.
* "Бюджет" на ускорение страницы: как распределить.
* Поточное и отложенное ускорение: как выбрать.
* Некоторые типичные ошибки "оптимизации".
* Кейс: нестандартные подходы к оптимизации производительности.
Часть 3. Узкое профилирование
* Тестируем CDN: что смотрим, как измеряем.
* Тестируем мобильные устройства: тормозит CPU или GPRS ?
* Тестируем асинхронную загрузку: подводные камни.
* Кейс: сколько "стоит" ошибка в клиентской производительности.
Заключение. Промышленное внедрение
* Кейс: "швейцарский нож" для оптимизации изображений.
* Кейс: когда реально работает отложенная загрузка.
* Кейс: HTTP/2. Реальные данные.
* Кейс: как ускорить 2000 ресурсов в секунду?
- Как начать развивать систему аналитики в компании, не имея армию data-инженеров.
- Как перейти из состояния «я не понимаю какие квадратики на этой схеме нужны для моих задач» и при этом не уйти в R&D на несколько месяцев.
- Как реализовать потоковую обработку данных на PHP (~40К записей в минуту).
- Какие технические решения применяли в нашем решении и какие факторы учитывали в принятии решений.
Презентация с мероприятия https://habr.com/ru/company/tuturu/blog/426059/
ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидо...Ontico
ClickHouse - высокопроизводительная база данных для больших данных и аналитики.
На ClickHouse основана Яндекс.Метрика - крупнейшая система веб-аналитики в России.
Ради чего мы написали свою базу данных? Ради скорости! ClickHouse работает невероятно быстро, быстрее всех известных нам конкурентов, и при этом может обрабатывать запросы по петабайтам данных.
Я расскажу про:
- Краткую историю создания проекта;
- Основные преимущества и особенности ClickHouse;
- Архитектура проекта; подход к хранению данных, отказоустойчивости, исполнению запросов;
- Как работает внутри, почему ClickHouse такой быстрый;
- Текущие кейсы использования в Метрике и других проектах Яндекса;
- Профит, который вы можете получить от ClickHouse.
High load++2016.highlights (dropbox+clickhouse)Pavel Alexeev
Highload++ 2016 short present of 3:
Оригинальные доклады, рекомендуемые к просмотру:
* Особенности архитектуры распределённого хранилища в Dropbox. Слава Бахмутов (SRE в группе разработки стораджа в Dropbox) - http://www.highload.ru/2016/abstracts/2257.html
* ClickHouse: очень быстро и очень удобно. Виктор Тарнавский (Руководитель разработки аналитических продуктов в Яндексе), Алексей Миловидов (Главный разработчик ClickHouse) - http://www.highload.ru/2016/abstracts/2327.html
* Переезжаем на Yandex ClickHouse - Александр Зайцев (LifeStreet) - http://www.highload.ru/2016/abstracts/2297.html
Выбор 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
Промышленное ускорение сайтов / Николай Мациевский (Айри.рф)Ontico
Идея: обеспечить реально высокую скорость загрузки нагруженного сайта (от 100 тысяч посетителей в день) для всех пользователей, ничего не сломав и уложившись в бюджет.
Введение. Подходы к оптимизации фронтенда:
* Классический: делаем по GPSI или WPT.
* Самостоятельный: прикрутили PageSpeed и CDN.
* Промышленный: PDSA (попробовали, измерили, внедрили, подсчитали).
* Кейс: открытие новостного сайта за 1 секунду на любом устройстве.
Часть 1. Мониторинг клиентской производительности
* Google Analytics / Яндекс.Метрика / Битрикс.
* New Relic / mPulse / Айри / Navigation Timing API.
* Resource Timing API / User Timing Api: собственные метрики.
* Кейс: как понять из метрик сайта, что и где тормозит.
Часть 2. Внедрение ускорения
* Как выбрать KPI скорости сайта.
* Базовые правила: как автоматизировать, внедрить, раскатать.
* "Бюджет" на ускорение страницы: как распределить.
* Поточное и отложенное ускорение: как выбрать.
* Некоторые типичные ошибки "оптимизации".
* Кейс: нестандартные подходы к оптимизации производительности.
Часть 3. Узкое профилирование
* Тестируем CDN: что смотрим, как измеряем.
* Тестируем мобильные устройства: тормозит CPU или GPRS ?
* Тестируем асинхронную загрузку: подводные камни.
* Кейс: сколько "стоит" ошибка в клиентской производительности.
Заключение. Промышленное внедрение
* Кейс: "швейцарский нож" для оптимизации изображений.
* Кейс: когда реально работает отложенная загрузка.
* Кейс: HTTP/2. Реальные данные.
* Кейс: как ускорить 2000 ресурсов в секунду?
Примеры использования базы clickhouse для анализа данных.
Экспорт данных access.log в clickhouse. Примеры анализа скорости пользователей на основе логов сервера.
Общие сведения о clickhouse и возможностях его применения для аналитики на примере нашего опыта.
More useful info on our:
- website: https://clickky.biz
- blog: https://clickky.biz/blog
Sign up!
Переезжаем на Yandex ClickHouse / Александр Зайцев (LifeStreet)Ontico
Несколько месяцев назад компания "Яндекс" совершила маленькую революцию, открыв свою внутреннюю систему хранения и аналитики больших данных ClickHouse в opensource для всех желающих.
ClickHouse стабильно показывает очень высокие результаты на тестах производительности запросов, часто догоняя и обгоняя лидеров рынка аналитических RDBMS, включая HP Vertica. Высокие результаты и авторитет "Яндекса" привлекают к этой системе заслуженное внимание разработчиков и архитекторов. Вместе с тем, архитектура ClickHouse довольно существенно отличается от привычных архитектур RDBMS, в ClickHouse отсутствует многое из привычной функциональности, есть ряд "неудобных" ограничений. Поэтому разработка новых и миграция существующих решений сопровождается значительными сложностями.
В докладе рассматриваются основные архитектурные особенности ClickHouse, отличия от традиционных RDBMS или NoSQL баз данных, и обсуждаются способы решения типичных задач, возникающих при разработке аналитических систем на ClickHouse.
Электронная коммерция: от Hadoop к Spark ScalaRoman Zykov
Как обрабатывать большой объем данных быстро с наименьшими затратами? Мы смогли этого добиться в компании
RetailRocket. Обработка данных – это наш бизнес! У нас много данных: более 100 Тбайт, в сутки нам поступает более 100 млн
событий для обработки. До недавнего времени у нас все работало на кластере на базе Hadoop относительно устаревшего
дистрибутива Cloudera CDH 4.5, программный код был написан на Pig, Hive, Python и Java. Это порождало ряд проблем с
архитектурой, производительностью. Тестирование превращалось в настоящую головную боль. В конце лета RetailRocket
перешел на Yarn на базе CDH 5.1.2. Это открыло путь к более совершенным технологиям семейства Spark. Сейчас мы
находимся в фазе полного перехода на Spark на функциональном языке Scala. Это позволило нам избавиться от зоопарка
технологий, упростив архитектуру решений и автоматизировав тестирование. Первые результаты не заставили себя ждать –
получен прирост производительности на том же железе в три-пять раз. А это значит, что мы будем меньше инвестировать в
расширение парка серверов кластера. В докладе будет рассказано о проблемах, с которыми мы столкнулись, и о том как мы
их решили. Будут примеры исходного кода для оптимизации производительности и повышения удобства работы, который мы
закоммитили в наш публичный GitHub
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...Ontico
РИТ++ 2017, Backend Conf
Зал Кейптаун, 6 июня, 18:00
Тезисы:
http://backendconf.ru/2017/abstracts/2542.html
Kafka - распределённый брокер сообщений, нашедший широкое применение как универсальная шина для больших данных. Kafka позволяет как реализовать realtime-обработку большого числа событий, так и построить батчевый pipeline по доставке логов.
Почему мы используем Kafka? Если коротко - унификация. А если чуть подробнее - десятки поставщиков, терабайты логов каждый день, онлайн- и офлайн-pipeline'ы - без единой высокопроизводительной шины данных с этим крайне сложно совладать.
Из доклада вы узнаете о том, почему мы перешли на Kafka, и как она вписалась в наш pipeline. Поймёте, как обеспечить exactly once доставку данных. Узнаете о том, как из-за одной опечатки в несколько раз выросла нагрузка на Kafka, и что мы из этого выяснили. Выясните, какие метрики Kafka стоит мониторить и как по ним понять, что что-то идёт не так.
Бигдата — как добывать золото из данных / Александр Сербул (1С-Битрикс)Ontico
Расскажем о самых распространенных технологиях и алгоритмах добычи критичной для бизнеса информации из больших массивов данных. Отдельно коснемся темы рекомендательных сервисов и их эффективного применения.
План:
1) Откуда брать данные, тренды и концепции.
2) Основные алгоритмы и технологии их применения для обработки массивов данных: MapReduce, Spark.
3) Методика создания рекомендательного сервиса — этапы от концепции до работающей системы.
Обзор перспективных баз данных для highload / Юрий НасретдиновOntico
РИТ++ 2017, Backend Conf
Зал Кейптаун, 5 июня, 10:00
Тезисы:
http://backendconf.ru/2017/abstracts/2773.html
В этом докладе я рассмотрю несколько перспективных, на мой взгляд, баз данных, которые пока еще не очень популярны, но которые определенно ждет успех в будущем, особенно для highload-проектов. Я расскажу о Tarantool, ClickHouse и CockroachDB, о том, как они устроены, и почему я считаю, что они в будущем станут стандартом де-факто, как раньше был MySQL, а сейчас — MongoDB.
...
Выступление Александра Сербула (1С-Битрикс) на International Conference on Big Data and its Applications (ICBDA).
ICBDA — конференция для предпринимателей и разработчиков о том, как эффективно решать бизнес-задачи с помощью анализа больших данных.
http://icbda2015.org/
Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...Ontico
РИТ++ 2017, Backend Conf
Зал Сан-Паулу, 6 июня, 14:00
Тезисы:
http://backendconf.ru/2017/abstracts/2778.html
Хотите научиться принимать решения на основе данных, но не знаете, с чего начать? Нужно записать миллионы событий, но не уверены, как делать это правильно? Вы не знаете, как быстро и дёшево строить аналитические отчеты или запутались в инструментах?
На примере DocDoc я расскажу о плюсах и минусах различных подходов: как выбрать систему хранения, почему мы остановились на Google BigQuery. Как правильно организовать данные, записать свой clickstream, отказаться от сэмплирования в GA, а также строить простые и понятные отчеты.
Что нужно знать об архитектуре ClickHouse / Алексей Зателепин (Яндекс)Ontico
РИТ++ 2017, Backend Conf
Зал Сан-Паулу, 6 июня, 15:00
Тезисы:
http://backendconf.ru/2017/abstracts/2803.html
ClickHouse - высокопроизводительная аналитическая база данных с открытыми исходниками, разработанная в Яндексе. Изначально ClickHouse создавался для задач Яндекс.Метрики, но постепенно нашёл множество применений как внутри Яндекса, так и в других компаниях. Я расскажу, как ClickHouse устроен внутри с акцентом на то, какие у выбранной архитектуры следствия с точки зрения прикладного разработчика.
Будут затронуты следующие темы:
- Как ClickHouse хранит данные на диске и выполняет запрос, почему такой способ хранения позволяет на несколько порядков ускорить аналитические запросы, но плохо подходит для OLTP и key-value нагрузки.
- Как устроена репликация и шардирование, как добиться линейного масштабирования и что делать с eventual consistency.
- Как диагностировать проблемы на production-кластере ClickHouse.
NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)Ontico
РИТ++ 2017, Backend Conf
Зал Сан-Паулу, 6 июня, 12:00
Тезисы:
http://backendconf.ru/2017/abstracts/2788.html
Что такое NewSQL, почему NoSQL-движение превращается в NewSQL, и что эта трансформация привносит в SQL?
Попробуем разобраться, почему NoSQL-вендоры добавляют всё больше SQL-возможностей, почему стандарт SQL не пользуется популярностью, и куда это всё идёт.
Рассмотрим новые диалекты языка SQL, такие как:
- Cassandra QL
- Couchbase NQL
- Elastisearch
и сравним их с подходом MongoDB & RethinkDB, добавляющим новый язык работы с данными.
Останется ли в мире СУБД что-то ценного от NoSQL-движения?
Ну и, наконец, рассмотрим новый вызов реляционной модели: multi-model databases.
«Дорожная сеть в графовой базе данных Neo4j» — Вадим Шашенко, 2ГИС2ГИС Технологии
В своем докладе я расскажу, почему мы выбрали графовую базу данных Neo4j для проверки дорожного графа городов России (все населенные пункты с населением больше 300 000 жителей). Основные задачи, которые мы решаем средствами Neo4j — это проверки на связность и доступность проезда.
Опорные пункты доклада:
— SQL против графовых баз данных;
— обзор графовой базы данных neo4j;
— архитектура решения, в котором используется графовая БД;
— выполнение алгоритмов на графе в условиях его частых изменений.
В основе доклада лежат результаты работы над проектом «Fiji». Это внутрикорпоративная система, которая позволяет штатным картографам 2ГИС создавать, хранить и экспортировать карту во внешние продукты: онлайн-, десктоп- и мобильную версии 2ГИС.
Shadow Fight 2: архитектура системы аналитики для миллиарда событийVyacheslav Nikulin
Аудитория Shadow Fight 2, насчитывающая 50 миллионов игроков, ежедневно генерирует огромное количество событий, анализ которых происходит в реальном времени. Доклад посвящен архитектуре системы аналитики на основе поискового движка Elasticsearch. Будет рассмотрен технологический стек Elasticsearch, Logstash, Kibana, который позволяет в сжатые сроки создать гибкое и надежное решение. Также Вячеслав поможет разобраться со схемой обработки событий, моделью данных и особенностями настройки, расскажет о команде и трудозатратах на разработку и поддержку системы
Примеры использования базы clickhouse для анализа данных.
Экспорт данных access.log в clickhouse. Примеры анализа скорости пользователей на основе логов сервера.
Общие сведения о clickhouse и возможностях его применения для аналитики на примере нашего опыта.
More useful info on our:
- website: https://clickky.biz
- blog: https://clickky.biz/blog
Sign up!
Переезжаем на Yandex ClickHouse / Александр Зайцев (LifeStreet)Ontico
Несколько месяцев назад компания "Яндекс" совершила маленькую революцию, открыв свою внутреннюю систему хранения и аналитики больших данных ClickHouse в opensource для всех желающих.
ClickHouse стабильно показывает очень высокие результаты на тестах производительности запросов, часто догоняя и обгоняя лидеров рынка аналитических RDBMS, включая HP Vertica. Высокие результаты и авторитет "Яндекса" привлекают к этой системе заслуженное внимание разработчиков и архитекторов. Вместе с тем, архитектура ClickHouse довольно существенно отличается от привычных архитектур RDBMS, в ClickHouse отсутствует многое из привычной функциональности, есть ряд "неудобных" ограничений. Поэтому разработка новых и миграция существующих решений сопровождается значительными сложностями.
В докладе рассматриваются основные архитектурные особенности ClickHouse, отличия от традиционных RDBMS или NoSQL баз данных, и обсуждаются способы решения типичных задач, возникающих при разработке аналитических систем на ClickHouse.
Электронная коммерция: от Hadoop к Spark ScalaRoman Zykov
Как обрабатывать большой объем данных быстро с наименьшими затратами? Мы смогли этого добиться в компании
RetailRocket. Обработка данных – это наш бизнес! У нас много данных: более 100 Тбайт, в сутки нам поступает более 100 млн
событий для обработки. До недавнего времени у нас все работало на кластере на базе Hadoop относительно устаревшего
дистрибутива Cloudera CDH 4.5, программный код был написан на Pig, Hive, Python и Java. Это порождало ряд проблем с
архитектурой, производительностью. Тестирование превращалось в настоящую головную боль. В конце лета RetailRocket
перешел на Yarn на базе CDH 5.1.2. Это открыло путь к более совершенным технологиям семейства Spark. Сейчас мы
находимся в фазе полного перехода на Spark на функциональном языке Scala. Это позволило нам избавиться от зоопарка
технологий, упростив архитектуру решений и автоматизировав тестирование. Первые результаты не заставили себя ждать –
получен прирост производительности на том же железе в три-пять раз. А это значит, что мы будем меньше инвестировать в
расширение парка серверов кластера. В докладе будет рассказано о проблемах, с которыми мы столкнулись, и о том как мы
их решили. Будут примеры исходного кода для оптимизации производительности и повышения удобства работы, который мы
закоммитили в наш публичный GitHub
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...Ontico
РИТ++ 2017, Backend Conf
Зал Кейптаун, 6 июня, 18:00
Тезисы:
http://backendconf.ru/2017/abstracts/2542.html
Kafka - распределённый брокер сообщений, нашедший широкое применение как универсальная шина для больших данных. Kafka позволяет как реализовать realtime-обработку большого числа событий, так и построить батчевый pipeline по доставке логов.
Почему мы используем Kafka? Если коротко - унификация. А если чуть подробнее - десятки поставщиков, терабайты логов каждый день, онлайн- и офлайн-pipeline'ы - без единой высокопроизводительной шины данных с этим крайне сложно совладать.
Из доклада вы узнаете о том, почему мы перешли на Kafka, и как она вписалась в наш pipeline. Поймёте, как обеспечить exactly once доставку данных. Узнаете о том, как из-за одной опечатки в несколько раз выросла нагрузка на Kafka, и что мы из этого выяснили. Выясните, какие метрики Kafka стоит мониторить и как по ним понять, что что-то идёт не так.
Бигдата — как добывать золото из данных / Александр Сербул (1С-Битрикс)Ontico
Расскажем о самых распространенных технологиях и алгоритмах добычи критичной для бизнеса информации из больших массивов данных. Отдельно коснемся темы рекомендательных сервисов и их эффективного применения.
План:
1) Откуда брать данные, тренды и концепции.
2) Основные алгоритмы и технологии их применения для обработки массивов данных: MapReduce, Spark.
3) Методика создания рекомендательного сервиса — этапы от концепции до работающей системы.
Обзор перспективных баз данных для highload / Юрий НасретдиновOntico
РИТ++ 2017, Backend Conf
Зал Кейптаун, 5 июня, 10:00
Тезисы:
http://backendconf.ru/2017/abstracts/2773.html
В этом докладе я рассмотрю несколько перспективных, на мой взгляд, баз данных, которые пока еще не очень популярны, но которые определенно ждет успех в будущем, особенно для highload-проектов. Я расскажу о Tarantool, ClickHouse и CockroachDB, о том, как они устроены, и почему я считаю, что они в будущем станут стандартом де-факто, как раньше был MySQL, а сейчас — MongoDB.
...
Выступление Александра Сербула (1С-Битрикс) на International Conference on Big Data and its Applications (ICBDA).
ICBDA — конференция для предпринимателей и разработчиков о том, как эффективно решать бизнес-задачи с помощью анализа больших данных.
http://icbda2015.org/
Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...Ontico
РИТ++ 2017, Backend Conf
Зал Сан-Паулу, 6 июня, 14:00
Тезисы:
http://backendconf.ru/2017/abstracts/2778.html
Хотите научиться принимать решения на основе данных, но не знаете, с чего начать? Нужно записать миллионы событий, но не уверены, как делать это правильно? Вы не знаете, как быстро и дёшево строить аналитические отчеты или запутались в инструментах?
На примере DocDoc я расскажу о плюсах и минусах различных подходов: как выбрать систему хранения, почему мы остановились на Google BigQuery. Как правильно организовать данные, записать свой clickstream, отказаться от сэмплирования в GA, а также строить простые и понятные отчеты.
Что нужно знать об архитектуре ClickHouse / Алексей Зателепин (Яндекс)Ontico
РИТ++ 2017, Backend Conf
Зал Сан-Паулу, 6 июня, 15:00
Тезисы:
http://backendconf.ru/2017/abstracts/2803.html
ClickHouse - высокопроизводительная аналитическая база данных с открытыми исходниками, разработанная в Яндексе. Изначально ClickHouse создавался для задач Яндекс.Метрики, но постепенно нашёл множество применений как внутри Яндекса, так и в других компаниях. Я расскажу, как ClickHouse устроен внутри с акцентом на то, какие у выбранной архитектуры следствия с точки зрения прикладного разработчика.
Будут затронуты следующие темы:
- Как ClickHouse хранит данные на диске и выполняет запрос, почему такой способ хранения позволяет на несколько порядков ускорить аналитические запросы, но плохо подходит для OLTP и key-value нагрузки.
- Как устроена репликация и шардирование, как добиться линейного масштабирования и что делать с eventual consistency.
- Как диагностировать проблемы на production-кластере ClickHouse.
NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)Ontico
РИТ++ 2017, Backend Conf
Зал Сан-Паулу, 6 июня, 12:00
Тезисы:
http://backendconf.ru/2017/abstracts/2788.html
Что такое NewSQL, почему NoSQL-движение превращается в NewSQL, и что эта трансформация привносит в SQL?
Попробуем разобраться, почему NoSQL-вендоры добавляют всё больше SQL-возможностей, почему стандарт SQL не пользуется популярностью, и куда это всё идёт.
Рассмотрим новые диалекты языка SQL, такие как:
- Cassandra QL
- Couchbase NQL
- Elastisearch
и сравним их с подходом MongoDB & RethinkDB, добавляющим новый язык работы с данными.
Останется ли в мире СУБД что-то ценного от NoSQL-движения?
Ну и, наконец, рассмотрим новый вызов реляционной модели: multi-model databases.
«Дорожная сеть в графовой базе данных Neo4j» — Вадим Шашенко, 2ГИС2ГИС Технологии
В своем докладе я расскажу, почему мы выбрали графовую базу данных Neo4j для проверки дорожного графа городов России (все населенные пункты с населением больше 300 000 жителей). Основные задачи, которые мы решаем средствами Neo4j — это проверки на связность и доступность проезда.
Опорные пункты доклада:
— SQL против графовых баз данных;
— обзор графовой базы данных neo4j;
— архитектура решения, в котором используется графовая БД;
— выполнение алгоритмов на графе в условиях его частых изменений.
В основе доклада лежат результаты работы над проектом «Fiji». Это внутрикорпоративная система, которая позволяет штатным картографам 2ГИС создавать, хранить и экспортировать карту во внешние продукты: онлайн-, десктоп- и мобильную версии 2ГИС.
Shadow Fight 2: архитектура системы аналитики для миллиарда событийVyacheslav Nikulin
Аудитория Shadow Fight 2, насчитывающая 50 миллионов игроков, ежедневно генерирует огромное количество событий, анализ которых происходит в реальном времени. Доклад посвящен архитектуре системы аналитики на основе поискового движка Elasticsearch. Будет рассмотрен технологический стек Elasticsearch, Logstash, Kibana, который позволяет в сжатые сроки создать гибкое и надежное решение. Также Вячеслав поможет разобраться со схемой обработки событий, моделью данных и особенностями настройки, расскажет о команде и трудозатратах на разработку и поддержку системы
Карта граблей на поле сбора и доставки логов. Lazada-way.Yury Bushmelev
Слайды с моего доклада на HL++ 2017 о том, как мы в Лазаде строили систему сбора и доставки логов, с какими трудностями мы при этом столкнулись и какие выводы сделали.
Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...Ontico
HighLoad++ 2017
Зал «Пекин+Шанхай», 7 ноября, 17:00
Тезисы:
http://www.highload.ru/2017/abstracts/3036.html
Логи — важная часть системы, позволяющая понять, что она работает (либо не работает), как ожидается. В условиях микросервисной архитектуры работа с логами становится отдельной дисциплиной специальной олимпиады. Нужно решить сразу кучу вопросов:
- как писать логи из приложения;
- куда писать логи;
- как доставлять логи для хранения и обработки;
- как обрабатывать и хранить логи.
...
2. Чем занимаюсь
• Создаю инфраструктуру для аналитиков
• Инструменты сбора данных о действиях пользователей
• Системой АБ-тестов и т.д
3. О
посетителей в день
1 млн.
посетителей в месяц
17 млн. сотрудников
>390
Туту.ру — сервис путешествий №1 в России
(данные кросс-медийной панели GfK Rus, дек. 2016).
Продаем туры, билеты на самолеты, поезда и автобусы,
бронируем отели, рассказываем о расписании электричек.
4. О чем?
• Основные понятия и терминология
• Пройдемся по кейсам
1. Полнотекстовый поиск
2. Изменчивая структура данных
3. Хранение логов
4. Аналитическое хранилище
5. Хранилище для DWH
6. Ехал Индекс через индекс.
Сунул Индекс индекс в индекс…
• Индекс - от англ. indices,
группа инвертированных
индексов
• Поле индекса - на англ. index,
а этот тот самый
инвертированный индекс
7. 1. Полнотекстовый поиск
Задача
— Саджесты/подсказки в формах поиска
Требования
• Быстрый ответ на индексе в несколько gb
• Обслуживать много запросов на чтение
• Возможность частичного обновления
• Высокие требования к стабильности
8. ✅ Получили
• Гибкая настройка ранжирования
• Работа с синонимами
• Отправка запросов напрямую из nginx
без задержки на запрос к бекендам
• Минимум затрат на поддержку решения
в эксплуатации более двух лет
Объемы данных
• 7000 запросов в минуту
• Размер индекса 12 гб
• ~ 6 млн. документов
• Скорость ответа 10мс
Машинки
• 3-и ноды
• по 8gb RAM
• по 4-е ядра
• Утилизация ~20%
1. Полнотекстовый поиск
10. 2. Изменчивая структура
Задача
— Кеш поисковой выдачи туров
Требования
• Легкость добавления новых полей в документ
• Легкость адаптации данных к поискам по разным параметрам
• Фасетный поиск + полнотекст
11. Жила была MongoDB
• Каждый новый запрос на выборку - новый индекс
• 40+ индексов
• Долгая индексация документов
• Около полугода периодического тюнинга
2. Изменчивая структура
12. ✅ Получили
• Стабильная работа и
ускорение
• Мало накладных расходов на
добавление новых полей
• Проще поддержка
• Возможность построить
аналитику
Объем данных
• Размер индекса 50gb
• Вставка 40 т. записей в минуту
Машинки
• 3-и ноды на MongoDB было 6-ть
• По 8gb RAM
• По 8 ядер
• 250gb SSD
2. Изменчивая структура
13. 3. Хранение логов
Задача
— Распределенное хранилище логов приложений
Требования
• Большие объемы неструктурированных данных
• Искать по любому полю и строить визуализацию
• Легкие запросы
• Простой способ исследовать данные
14. ✅ Получили
• Исследуем данные в
kibana
• Пишем через logstash
• Алертинг и
визуализация из
grafana
• Hot-Warm - экономит
деньги
3. Хранение логов
15. ❌ Минусы
• Без очереди - никуда.
Используем redis
• Требует поддержки
• Требователен к ресурсам
• Сложность выявлять
узкие места, нужно
больше метрик
3. Хранение логов
Объем данных
• Размер индекса ~20TB
• Вставка ~1.2 млн. записей в минуту
63 Мбит/с
• 22 млрд. записей в индексах
Машинки
• 14 нод (bare metal server)
• 2-а координатора
• 6 ssd - свежие индексы
• 6 hdd - старые индексы
• По 64 RAM и 16 ядер
• Доступный объем в кластере 43TB SSD + HDD
20. ✅ Получили
• Аналитики строят сложные агрегации
из python и визуализации в kibana
Объем данных
• Размер индекса ~10TB
• Вставка ~18 т. записей в минуту
• 16 млрд. записей в индексе
Машинки
• 12 нод (bare metal server)
• По 64 RAM
• По 16 ядер
• Всего 42 TB SSD
• Утилизация 5%-100%
4. Аналитическое хранилище
21. ✅ Получили
• Аналитики строят сложные агрегации
из python и визуализации в kibana
• Связи через parent/child
Объем данных
• Размер индекса ~10TB
• Вставка ~18 т. записей в минуту
• 16 млрд. записей в индексе
Машинки
• 12 нод (bare metal server)
• По 64 RAM
• По 16 ядер
• Всего 42 TB SSD
• Утилизация 5%-100%
4. Аналитическое хранилище
22. ✅ Получили
• Аналитики строят сложные агрегации
из python и визуализации в kibana
• Связи через parent/child
• Гибкое и простое масштабирование
• Бесплатно
Объем данных
• Размер индекса ~10TB
• Вставка ~18 т. записей в минуту
• 16 млрд. записей в индексе
Машинки
• 12 нод (bare metal server)
• По 64 RAM
• По 16 ядер
• Всего 42 TB SSD
• Утилизация 5%-100%
4. Аналитическое хранилище
23. ❌ Минусы
• Не можем разбивать/партиционировать индекс по времени
• Связи накладывают ограничения
4. Аналитическое хранилище
24. ❌ Минусы
• Не можем разбивать/партиционировать индекс по времени
• Связи накладывают ограничения
4. Аналитическое хранилище
25. ❌ Минусы
• Не можем разбивать/партиционировать индекс по времени
• Связи накладывают ограничения
• Ограничения кол-ва записей в шарде (2,147,483,519 документов)
• Размер шард < 50gb
• Нет SQL ANSI
Время на обучение аналитика работы с хранилищем
• Ограниченное использование BI инструментов
Microsoft Power BI, Tableau и пр.
• Неоптимальное использование ресурсов
Кластер в среднем утилизирован на 10%
• Только append only
4. Аналитическое хранилище
26. 4. Аналитическое хранилище
К чему пришли
• ElasticSearch прожил 3-и года и останется, но в качестве
витрины
• Будем менять модель данных
• Используем хранилища с SQL для BI
• Хранить историчные данные в DWH
27. 5. Хранилище для DWH
Задача
— Хранение результатов поисков пользователей
Требования
• К данным обращаются редко
• Неизвестно как будут выбирать и какие агрегации строить
• Хранить нужно за всю историю проекта и не разориться
28. 5. Хранилище для DWH
Получили
Ну точнее хотели получить
• Сложные агрегации - если бы все
ресурсы не забивала индексация
• Простое масштабирование
Объем данных
• В пиках до 600mb в минуту,
460gb в сутки
• 1.5 млн. записей в сутки
Машинки
• 3 ноды
• По 64gb RAM
• По 16 ядер
• Всего 12TB HDD
30. 5. Хранилище для DWH
❌ Минусы
• Не оптимально работает с диском
• Каждый документ - это дополнительный расход памяти
при выборке по полю индекс шарды целиком загружаются в память
• Избегать большой иерархии документов
31. 5. Хранилище для DWH
К чему пришли
• Пишем через kafka connect пачками в S3
• Аналитика данных через python или spark из S3
• Вместо 5TB в elastic, уместили все в архивы по 700MB
32. • 10 кластеров
• Всего 49 нод
• Обрабатывают в среднем 2.5 млн. запросов в минуту
Общее кол-во инсталляций
33. Итог
• Мощь ElasticSearch не в оптимальности
используемых ресурсов, а в его универсальности и
гибкости
Кейсы: DWH, полнотекстовый поиск, изменчевая
структура данных
34. Итог
• Мощь ElasticSearch не в оптимальности
используемых ресурсов, а в его универсальности и
гибкости
• Требователен к объему памяти и скорости дисков
Кейсы: аналитическое хранилище, логи, DWH
35. Итог
• Мощь ElasticSearch не в оптимальности
используемых ресурсов, а в его универсальности и
гибкости
• Требователен к объему памяти и скорости дисков
• Хорошо справляется с десятками терабайт данных
Кейсы: аналитическое хранилище, логи
36. Итог
• Мощь ElasticSearch не в оптимальности
используемых ресурсов, а в его универсальности и
гибкости
• Требователен к объему памяти и скорости дисков
• Хорошо справляется с десятками терабайт данных
• Храните денормализованные данные в плоской
структуре
Кейсы: аналитическое хранилище, логи
37. Итог
• Мощь ElasticSearch не в оптимальности
используемых ресурсов, а в его универсальности и
гибкости
• Требователен к объему памяти и скорости дисков
• Хорошо справляется с десятками терабайт данных
• Храните денормализованные данные в плоской
структуре
• Нарезайте индексы по временным промежуткам
Кейсы: аналитическое хранилище, логи
38. Итог
• Мощь ElasticSearch не в оптимальности
используемых ресурсов, а в его универсальности и
гибкости
• Требователен к объему памяти и скорости дисков
• Хорошо справляется с десятками терабайт данных
• Храните денормализованные данные в плоской
структуре
• Нарезайте индексы по временным промежуткам
• Append only
Кейсы: аналитическое хранилище
39. Спасибо#
Кейсы
1. Полнотекстовый поиск
2. Изменчивая структура данных
3. Хранение логов
4. Аналитическое хранилище
5. Хранилище для DWH
Выводы
• ElasticSearch - это гибкость
• Платим памятью и скоростью дисков
• Хорош для средних объемов данных
• Хранение денормализованных
данных
• Нарезайте индексы по времени
• Append only
Илья Середа weberdever sereda@tutu.ru