Команда Tarantool
на конференции HighLoad++
13–14 мая
Пройдите опрос и получите подарок
Помогите нам сделать Tarantool лучше, а мы подарим вам термобутылку, чтобы обезвоживание вам не грозило. В конце каждого дня конференции мы разыгрываем приз среди всех прошедших опрос — наушники Sony. Приходите на наш стенд!

Заходите в гости на наш стенд возле зала «Аврора», у нас есть развлечения и мерч
Термобутылки
Стикеры
Покерные фишки номиналом 1 000 000 RPS!
Перчатки
Участвуйте в нашей игре!
Собирай комплектующие из космоса и попытайся спасти космический корабль, пока система обеспечения еще работает. Получай от нас дополнительные подарки.
Спикеры
Рассказываем, как надо и как не надо работать с Tarantool, как ускорять системы в максимально сжатые сроки и как сделать быстрый коннектор и решить кучу проблем.
Дмитрий Самиров
Игорь Золотарев
Александр Ляпунов
Наши доклады
13 мая

11:10
Зал «Трантор / Яндекс.Трек»
Типичные ошибки при использовании NoSQL

Игорь Золотарев

Tarantool — гибкий инструмент для разработки высоконагруженных систем хранения данных. На нем делают очереди, кэши и мастер-хранилища с разной топологией.

Tarantool нужно уметь правильно приготовить, для этого важно знать его особенности. Часто разработчики пишут на Tarantool после большого опыта работы с SQL и пытаются применять привычные подходы из реляционных баз данных. В итоге приложения становятся хрупкими, теряют данные или деградируют в производительности.

Расскажу о пяти провальных решениях при разработке кластеров на Tarantool, с которыми я столкнулся при работе с крупными проектами. Я покажу, как эти антипаттерны влияют на производительность и стабильность приложений, а также предложу варианты, как можно избежать проблем.
13 мая

18:30
Зал «Гея»
Хайлоад, которого не ждали Архитектуры, масштабируемость

Дмитрий Самиров

В прошлом году нам нужно было за 2 месяца с нуля создать систему хранения товаров и остатков для магазинов «Магнита». Даже если учесть, что архитекторы у нас не пьют, а коты разработчиков очень воспитанные и работают исключительно через мерж-реквесты, задача была не из легких.

В этом докладе я расскажу:

  • как пилотный проект, написанный в короткие сроки, внезапно для всех превратился в хайлоад-сервис, который должен держать нагрузку 200 000 запросов в секунду;
  • какие ошибки были допущены при проектировании сервиса и как мы их исправляли;
  • с какими проблемами мы столкнулись при масштабировании нашей системы.
14 мая

16:20
Зал «Альфа»
Как сделать быстрый C++-коннектор и не поломать кодовую базу приложения

Александр Ляпунов

Я расскажу, как мы используем msgpack в асинхронном сетевом протоколе СУБД и серверы приложений Tarantool в целом и в том числе о реализации его клиентской части (коннектора) на С++.

При коммуникации с базами данных есть проблема — заранее неизвестная структура данных. А если рассматривать Tarantool в контексте сервера приложений, то задача становится фактически реализацией протокола RPC с неопределенным набором функций. Другими словами, при реализации сервера и коннектора к нему структура и набор данных не определены. Для такого динамического протокола хорошо подошел msgpack, однако это принесло сложности в разработке и затронуло быстродействие системы.

Помимо динамичности, у коннектора есть еще одна проблема — встраиваемость в существующую кодовую базу приложения. Нужно сделать так, чтобы коннектором было удобно пользоваться независимо от того, что использует приложение (блокирующее I/O, epoll, другие событийные циклы, файберы).