• Приветствие участников.
• Проверка связи и настройка таймера.
• Представление Владимира Перепелицы, архитектора и продакт-менеджера платформы Тарантул.
• Владимир имеет более 20 лет опыта программирования, последние 8 лет посвятил разработке на Тарантуле.
• Он является архитектором и техническим продакт-менеджером Тарантула.
• Владимир известен как Монс Андерсон в сообществе Тарантула.
• Владимир расскажет о создании Тарантула, его эволюции и функциональности.
• Тарантул был создан в Mail.ru Group и выпущен в открытый доступ в 2010 году.
• Изначально Тарантул разрабатывался для хранения профилей пользователей Mail.ru.
• Тарантул прошел путь от кэша до базы данных с репликацией и индексами.
• Включение Lua функций и развитие до сервера приложений.
• Сегодня Тарантул является гибридной платформой для инкрементных вычислений.
• Тарантул выпускается в двух версиях: опенсорсная и Enterprise.
• Опенсорсная версия доступна на GitHub, Enterprise версия включает поддержку и обучение.
• Тарантул поддерживает различные топологии и модули.
• Данные хранятся в памяти, доступ осуществляется из одного треда.
• Изменения записываются линейно, данные индексированы и реплицируются.
• Тарантул имеет один транзакционный трейд и арену для хранения данных.
• Данные хранятся в спейсах, к которым построены индексы.
• Файберы взаимодействуют с данными и событийным циклом.
• Репликация данных осуществляется через отдельный трейд релей.
• Тарантул начинает с чтения самого старшего снапшота и икс-слогов.
• После чтения данных строятся индексы и запускается приложение на Lua.
• Lua - простой скриптовый язык, созданный для инженеров и технически образованных людей.
• Lua позволяет писать эффективные программы благодаря простому устройству и компилятору.
• Lua интегрирован с событийным циклом и файберами, что обеспечивает кооперативную многозадачность.
• Тарантул работает рядом с данными, что снижает задержку и повышает производительность.
• Файберы реализуют примитив кооперативной многозадачности, что снижает потребление ресурсов.
• Тарантул позволяет строить сервер приложений благодаря неблокирующей работе с сокетами и библиотекам для работы с сетью и данными.
• Платформа Тарантул включает ин-мемори базу данных, встроенный сервер приложений и инструменты для репликации и шардирования.
• Тарантул поддерживает различные внешние системы и коннекторы.
• Тарантул похож на ин-мемори платформы, такие как Redis Enterprise и другие.
• Тарантул отличается от них архитектурой и набором инструментов, но может решать широкий спектр бизнес-задач.
• Тарантул хранит данные в табличной форме и поддерживает индексы, но отличается от реляционных баз строгой схемой.
• Тарантул всегда хранит весь дата-сет в памяти, что делает его персистентным.
• Тарантул может работать в режиме кеширования и использоваться как замена Memcached.
• Тарантул имеет вторичные индексы и транзакции, что отличает его от Redis.
• Тарантул поддерживает хранение документов и использует формат JSON.
• Тарантул не задумывался как документо-ориентированная база, но может хранить документы.
• Тарантул не является колонночной базой данных, но может дополнять их.
• Тарантул подходит для микротранзакций и может накапливать данные для отправки в аналитические системы.
• Тарантул не подходит для аналитики из-за однотредового доступа к данным.
• Тарантул хорошо подходит для хранения мелких транзакций, профилей пользователей и высоконагруженных счетчиков.
• Тарантул позволяет писать сложные приложения благодаря файберам.
• Существует более шести реализаций очередей на GitHub и в закрытых репозиториях.
• Низкая латенси на доступ к данным обеспечивает быстрый конкурентный доступ.
• Для хранения данных используются таплы, которые объединяются в спейсы.
• Спейсы могут храниться в памяти или на диске.
• Необходим праймере индекс для работы с данными.
• Тарантул поддерживает различные типы индексов, включая B+Tree, хэш, битмап и функциональные индексы.
• Механизм транзакций обеспечивает уровень изоляции Serializable.
• В версии 2.6 добавлен движок N-C-C для интерактивных транзакций.
• Тарантул можно использовать как реляционное хранилище благодаря спейсам.
• Можно использовать любой движок SQL для выполнения запросов.
• Эквивалентность с SQL расширяет возможности применения Тарантула.
• Система анти-брутфорса использует счетчики и шардирование.
• Учитывается пользовательская активность в зависимости от IP-адреса и целевого ресурса.
• Раннее отсечение пользовательской нагрузки предотвращает атаки.
• Тарантул имеет встроенный сервер, который требует авторизации и прав доступа.
• Можно запустить Тарантул в интерактивном режиме для демонстрации.
• Тарантул работает как Lua-интерпретатор и позволяет исполнять файлы.
• Для запуска базы данных используется команда box.
• Тарантул конфигурирует базу данных и инициализирует кластер.
• Можно создавать спейсы и индексы, а также хранить данные в виде таплов.
• Для запуска сервера создается файл server.lua.
• Сервер запускается на определенном порту и принимает команды.
• Можно подключаться к серверу и выполнять Lua-команды.
• Запуск сервера и подключение к нему.
• Работа с данными и файберами.
• Встроенная библиотека файбер для работы с файберами.
• Файбер отдает управление добровольно.
• Контекст свич увеличивается при каждом переключении.
• Подключение библиотеки файбер и вызов файбер инфо.
• Создание файберов с помощью команды файбер крейт.
• Выполнение функции в кооперативном режиме.
• Файбер может быть раннинг, сспен или мертвый.
• Явная отдача управления через файбер ют.
• Неявная отдача управления через файбер слип.
• Синхронизация файберов с помощью каналов.
• Создание каналов с помощью файбер ченел.
• Операции файбер пут и файбер гет.
• Буферная емкость каналов и блокировка.
• Демонстрация работы с каналами.
• Файбер блокируется в ожидании сообщений.
• Каналы позволяют связывать файберы и организовывать работу в больших приложениях.
• Файберы позволяют программировать без параллелизма.
• Легче и быстрее тредов.
• Удобны для синхронно-событийных приложений.
• Библиотека сокет для работы с TCP/UDP/RTP.
• Встроенные клиентские библиотеки для HTTP и других протоколов.
• Обзор встроенных модулей: клок, хттп, ю-рай, цв, фан, буфер, дайджесты, крипта, сокет, фио, джейсон, ямль, месседж пак, айконв, юти ф8, ю-айди.
• Луарокс как механизм упаковки приложений и установки зависимостей.
• Установка и запуск HTTP сервера с помощью луарокса.
• Пример установки и запуска HTTP сервера.
• Запуск Tarantool на порту 8080.
• Возможность работы с данными и использование встроенного сервера.
• Поддержка коннекторов для популярных языков программирования.
• Возможность подключения Tarantool к другим Tarantool.
• Построение кластерных систем с репликацией и шардингом.
• Балансировка запросов и работа в кластерном режиме.
• Призыв к обратной связи и приглашение на интенсив.
• Описание интенсива с пятью занятиями и практическими демонстрациями.
• Возможность создания и репликации приложений, а также эксплуатационные вопросы.
• Ответы на вопросы из чата.
• Объяснение работы Tarantool на нескольких ядрах процессора.
• Адаптация приложений для работы с картриджем.
• Использование реверсного кэша и выгрузки холодных данных.
• Применение специализированных движков для хранения данных.
• Важность пользовательского сценария и определения набора данных.
• Призыв задавать вопросы в чате.
• Приглашение на интенсив и благодарность за внимание.