Видеозаписи 2023
- Реализовать OLAP: как мы делали колоночное хранение в YDB
- database/sql: плохой, хороший и злой. Опыт разработки драйвера для распределенной СУБД YDB
- YDB-оптимизации производительности под ARM
- YDB Topic Service: как мы повышали производительность очереди сообщений
- Особенности шин данных для очень больших инсталляций на примере YDB Topics
- Поиск по образцу на последовательностях строк в БД
- Из pytest в Go. Тестовое окружение на фикстурах
- Внутренняя платёжная система Яндекса: что под капотом?
- YDB Java SDK: борьба за производительность
- Искусство бенчмаркинга распределённых баз данных на примере YDB
- О релизе YDB v23.1
- Используем YDB: Возможности встроенного веб-интерфейса и CLI
- Развертывание YDB в Kubernetes
- Анализ потоковых данных с помощью Yandex Query - интерактивного сервиса виртуализации данных в YDB
Реализовать OLAP: как мы делали колоночное хранение в YDB
YDB – это платформа, которая умеет обрабатывать большой поток быстрых транзакций (OLTP, Online Transaction Processing). Команда, в которой работает Софья Новожилова (занимается развитием аналитического направления платформы YDB) захотела научить YDB обрабатывать другой тип запросов — аналитические (OLAP, Online Analytical Processing).
Из доклада вы узнаете ответы на вопросы:
- Достаточно ли просто поменять систему хранения, упаковать данные по колонкам, чтобы получить профит?
- Зачем это было нужно и какая польза от таких расширений системе в целом?
Доклад будет интересен разработчикам нагруженных систем и разработчикам платформ различного назначения.
database/sql: плохой, хороший и злой. Опыт разработки драйвера для распределенной СУБД YDB
В Golang есть пакет database/sql
, который предоставляет универсальный интерфейс общения с базами данных. С течением времени database/sql
сильно изменился и далеко ушёл от своего первоначального вида, он стал намного удобнее и функциональнее, но так было не всегда. Команда YDB работала с драйвером для YDB, начиная с версии Golang v1.11, и сталкивалась с различными трудностями в процессе эксплуатации в продакшнах пользователей.
В этом ретроспективном докладе Алексей Мясников (руководитель команды разработки клиентских библиотек YDB) расскажет о том, какие недочеты были в пакете database/sql
, во что это выливалось при эксплуатации и как он становился все лучше от версии к версии Golang.
Доклад будет интересен разработчикам и пользователям драйверов в стандарте database/sql
, а также пользователям распределенной базы данных YDB, разрабатывающим свой код на языке Golang.
YDB-оптимизации производительности под ARM
Максим Кита (Разработчик) расскажет о том, с какими проблемами столкнулась команда YDB и как они их решали при оптимизации YDB под архитектуру ARM. В докладе детально рассмотрены основные проблемы оптимизаций высоконагруженных приложений под ARM, методы и инструменты, с помощью которых проводилось тестирование производительности и находились узкие места для оптимизации.
Доклад будет интересен разработчикам баз данных, разработчикам систем хранения данных и разработчикам высоконагруженных приложений.
YDB Topic Service: как мы повышали производительность очереди сообщений
5 лет назад Яндекс перешел с Kafka на собственную разработку поверх YDB. С тех пор Yandex Topic Service сильно подрос по нагрузке и вышел в Open Source. В этом докладе Александр Зевайкин (Руководитель группы) рассказывает про ускорение YDB Topic Service и приводит сравнение с конкурентами.
Доклад будет интересен разработчикам, лидам разработки, техническим менеджерам. Всем, кто решал, решает или интересуется задачей масштабируемой поставки данных.
Особенности шин данных для очень больших инсталляций на примере YDB Topics
Шины передачи данных используются практически везде, но использование шин данных в очень больших инсталляциях на тысячи серверов накладывают особые требования для работы и приводят к отличиям в работе систем. Алексей Дмитриев (Технический менеджер) показывает на примере YDB Topics, в чем заключаются эти отличия, как они влияют на архитектуру и эксплуатацию.
Доклад будет интересен разработчикам и командам эксплуатации, особенно в компаниях больших размеров.
Поиск по образцу на последовательностях строк в БД
Задача поиска по образцу на последовательности строк БД может возникать в различных сферах деятельности. Например, в финансовой аналитике — поиск определённых паттернов изменения цены акций. Для реализации таких запросов к базам данных в стандарте SQL:2016
была введена конструкция MATCH_RECOGNIZE
. Евгений Зверев (Разработчик) рассказывает о реализации MATCH_RECOGNIZE
в YDB: о том, как это работает под капотом, какие подходы и алгоритмы реализованы, с какими сложностями столкнулась команда.
Отдельная часть выступления посвящена отличиям в обработке аналитических запросов на табличках и обработке на потоках «живых» данных. Доклад будет интересен разработчикам БД, дата-аналитикам, а также всем, кто интересуется поиском по образцу на больших данных.
Из pytest в Go. Тестовое окружение на фикстурах
Фикстуры позволяют писать очень лаконичные тесты и не отвлекаться на подготовку окружения. Тимофей Кулин (Разработчик) рассказал, как перенёс идеологию фикстур из pytest в Go и разработал библиотеку fixenv
, которая сокращает код тестов и улучшает их читаемость.
Доклад будет интересен разработчикам на Go и тимлидам.
Внутренняя платёжная система Яндекса: что под капотом?
Доклад Антона Куранды «Внутренняя платёжная система Яндекса: что под капотом?» раскрывает архитектурные решения, применённые при создании высоконагруженной внутренней платёжной платформы Яндекса (Yandex PSP), рассчитанной на тысячи платежей в секунду и обработку сотен терабайт данных в год. Рассказывается об основных принципах: использование stateless-микросервисов на Golang, хранение состояний и событий в геораспределённой СУБД YDB (в формате key-value), построение бизнес-логики на иерархических конечных автоматах с event sourcing, а также внедрение таск-шедулеров для планирования и асинхронной обработки задач. Подчёркивается, как данные подходы обеспечивают высокую отказоустойчивость (SLA ~99.997 %), ускорение проведения платежей в 6–10 раз и быстрый time-to-market для новых сервисов. Отмечается универсальность архитектуры — её можно применять в различных сферах: не только в финтехе, но и в e-commerce, автоматизации услуг, биллинге и логистике.
Этот доклад будет особенно полезен архитекторам, техническим руководителям, разработчикам высоконагруженных и транзакционных систем, а также специалистам, ищущим практические примеры построения крупных гибких платформ на современных инженерных принципах.
YDB Java SDK: борьба за производительность
Александр Горшенин (Ведущий разработчик) даёт краткий обзор архитектуры YDB, описывает особенности распределенных систем, показывает необходимость сложной балансировки запросов на клиенте и сравнивает несколько вариантов решения проблем балансировки, и пула сессий. Еще Александр приводит теоретическое обоснование того, почему те или иные решения должны работать лучше, а также демонстрирует метрики, собранные с помощью тестового приложения, которые подтверждают или опровергают сделанные предположения.
Доклад будет интересен всем тем, кто работает с распределенными базами данными и сконцентрирован на вопросе создания высокопроизводительных приложений, использующих такие БД.
Искусство бенчмаркинга распределённых баз данных на примере YDB
Евгений Иванов (Старший разработчик) рассказал, какие проблемы производительности нашли в популярных бенчмарках Yahoo! Cloud Serving Benchmark (YCSB) и Benchbase TPC-C. Как их исправили и как теперь используют эти бенчмарки, чтобы находить узкие места в YDB и делать оптимизацию. И насколько, согласно этим бенчмаркам, YDB опережает своих основных конкурентов CockroachDB и YugabyteDB, которые тоже являются распределёнными СУБД с открытым исходным кодом.
Доклад будет интересен как разработчикам приложений, которым требуется надёжная СУБД, так и людям, интересующимся распределёнными системами и базами данных.
О релизе YDB v23.1
В вебинаре рассказывается о поддержке изначального сканирования в CDC, атомарной замене индексов, и аудитном логе:
- Устройство Change Data Capture (механизм отслеживания изменения данных в таблицах) и улучшения этой системы в новом релизе. Ильназ Низаметдинов (Руководитель группы).
- Новая функциональность YDB – аудитный лог, которая позволяет отслеживать ключевые действия и события в системе. Андрей Рыков (Старший разработчик).
- Улучшение в конфигурации акторной системы. Александр Крюков (Разработчик)
- Улучшения в форматах передачи данных между этапами выполнения запросов. Виталий Гриднев (Ведущий разработчик).
- Оптимизация производительности YDB – кеширование паттернов графов вычислений. Владислав Кузнецов (Старший разработчик).
- Атомарное переименование вторичных индексов. Даниил Чередник (Старший разработчик).
- Поддержка вторичных индексов в сканирующих запросах. Юлия Сидорина (Разработчик YDB).
- Улучшения в переносе предикатов на чтения из таблиц. Михаил Сурин.
Используем YDB: Возможности встроенного веб-интерфейса и CLI
Антон Коваленко (Технический менеджер) рассказал и показал как запустить нагрузку на кластер с помощью YDB CLI, как найти причины проблем с производительностью запросов, и как с помощью встроенного веб-интерфейса оценить состояние кластера.
Вебинар будет полезен тем, кто работает с YDB, в том числе и разработчикам приложений.
Развертывание YDB в Kubernetes
Андрей Фомичев (Руководитель YDB), Михаил Бабич (Старший разработчик) и Максим Горбунов (Руководитель группы эксплуатации) рассказали про архитектуру системы и объяснили, как гарантируется надёжное хранение данных. Также спикеры продемонстрировали, как быстро развернуть собственный кластер в Managed Kubernetes® в Yandex Cloud и рассказали о практических рекомендациях по конфигурации узлов.
Вебинар будет полезен SRE-инженерам и разработчикам, которые занимаются развёртыванием и администрированием YDB с помощью Kubernetes® — как в публичных, так и в частных облаках.
Анализ потоковых данных с помощью Yandex Query - интерактивного сервиса виртуализации данных в YDB
Алексей Дмитриев (Технический менеджер) рассказал, что такое обработка потоковых данных, с какими задачами она помогает справляться и как её выполнять с помощью Yandex Query. В практической части вебинара показаны решения нескольких задач с помощью потоковой аналитики в сервисе Yandex Query.
Вебинар будет полезен разработчикам, особенно тем, кто ещё не пользовался потоковой обработкой и хочет разобраться, что это такое.