Рад представить вам 44-й выпуск SDCast’а! У меня в гостях Евгений Лазин, программист, автор проекта Akumuli. Основной темой этого выпуска являются БД для хранения временных рядов (Time-series DB, TSDB).
В начале мы обсудили общие вопросы, такие как: зачем нужны tsdb, чем они отличаются от привычных всем реляционных баз данных, какие у них особенности и основные области применения.
Базы данных типа TSDB широко применяются в мониторинге для хранения разного рода метрик, привязанных ко времени. Поэтому мы пообщались так же на тему мониторинга: что такое мониторинг, что является единицей мониторинга, зачем нужна связь со временем, какие есть инструменты мониторинга, зачем нужен time series db, и чем не подходят привычные способы хранения данных.
Евгений, как автор Akumuli, рассказал про свой проект, как он зарождался, какова его архитектура и внутреннее устройство. Отдельно рассказал про способ хранения данных на дисках, какие есть особенности работы с HDD и SSD и с чем пришлось столкнуться во время разработки. Очень интересно было послушать про разные алгоритмы, используемые для решения разного рода задач в проекте, таких как сжатие данных, быстрый поиск и индексация и многое другое. Ниже вы найдете ссылки на публикации по разным алгоритмам и исследованиям.
Обсудили и общие вопросы open source проекта: внешнее API, документация, тестирование и покрытие кода, есть ли интерес у сообщества.