Helicopter — платформа для совместной работы с данными
Мы разработали Helicopter. Он нужен для того, чтобы демократизировать доступ к данным компании и дать возможность извлекать из них ценность большому кругу пользователей.
Пользователи Helicopter взаимодействуют с «тетрадками», или notebooks, интерактивными блокнотами, — интерактивными документами, в которых можно создавать и выполнять код на SQL, Python, делать визуализации и аннотации. Тетрадки широко используются в области анализа данных и машинного обучения, например в Jupyter.
В статье детальнее рассказываем о Helicopter.
Демократизация доступа к данным
Решения в Тинькофф принимаются на основе данных. Мы хотим, чтобы любой сотрудник компании, владеющий базовыми навыками SQL
Helicopter повышает эффективность работы. Благодаря
От Zeppelin до своего продукта
До появления Helicopter в компании мы использовали Zeppelin как инструмент
Мы учли опыт эксплуатации Zeppelin и провели исследование ключевых продуктов в области анализа данных. Благодаря этому смогли позиционировать и разрабатывать Helicopter как современный, мощный, масштабируемый
Интересные факты
Уникальные технологии Helicopter
Расскажем об особенностях нашего продукта, который позволяет закрывать максимум потребностей пользователей.
Планировщик движка исполнения кода умеет эффективно утилизировать ограниченные вычислительные ресурсы в режиме вытесняющей многозадачности и resource overselling.
Сервер Python LSP позволяет получить подсказки по
Встроенный
Встроенный аналог GitHub Copilot позволяет пользователю быстрее писать работающий код.
Компоненты продукта
В проекте используется сервисная архитектура. Наш стек разработки:
Кроме того, мы используем в работе внутренние
Web IDE. В основе
Особенности редактора Markdown:
Редактор Python. Для редактора Python развернули
Редактор SQL. Используем парсеры на клиентской стороне, которые созданы поверх
Для валидации корректности запроса и проверок правил линтинга используем antlr4. Кастомные правила линтинга реализованы через собственный линтер, содержащий рекомендации для разных диалектов.
Система контроля версий. Мы даем пользователю легкую и удобную возможность версионирования его тетрадок — как в Google Документах. Автосохранение, сравнение версий, возможность восстановить любую из прошлых версий — вот только малая часть того, что делает пользовательский опыт надежным.
Система исполнения кода. Сервис, который отвечает за выполнение пользовательских тетрадок. Фактически это планировщик задач. Состоит из трех основных частей:
Сервис рассылки уведомлений об изменениях в тетрадках в режиме реального времени. Это основная часть работы в коллаборативном режиме с ноутбуком.
Сервис статического анализа и интеграций отвечает за
Сервис работы с ноутбуками реализует практически все CRUD, работу с параграфами, рабочим пространством пользователей и так далее.