Metabase Data Apps — это пользовательские ИИ-приложения, которые работают с вашими данными и наследуют ваши права доступа. Вот что мы создали с их помощью (F1, астероиды, тыквы) и как это устроено «под капотом».
В Metabase есть команда под названием Product Advocates. Наша работа — отвечать на вопросы людей со всего мира о платформе Metabase.
Недавно двое из нас (Эндрю и Абед) отправились в Швецию, чтобы впервые показать людям Metabase Data Apps. Нас пригласили наши друзья из ClickHouse выступить на их мероприятии AI Builders Talk в Стокгольме. Мы подготовились и привезли кое-что необычное: не очередной дашборд или график, а полноценные интерактивные приложения, построенные на основе данных в Metabase.
За последние 10 лет Metabase создала интуитивно понятную платформу для визуализации данных в совместной работе. Вы подключаете источники данных, создаете графики и дашборды, а также управляете доступом к тому, кто и что должен видеть. Исторически проектирование интуитивно понятных интерфейсов означало предвосхищение того, что люди хотят сделать, и предоставление им правильных вариантов выбора. ИИ изменил это уравнение. Хотя раньше мы не хотели перегружать людей миллионом настроек ради пиксельно-идеальных, кастомных интерфейсов, ИИ значительно упрощает создание и поддержку сложных, адаптированных решений. Для этого наши инженеры создали Data Apps, которые позволяют размещать внутри Metabase пользовательские приложения, созданные с помощью ИИ и работающие на основе ваших источников данных и структур разрешений.
Поэтому во время корпоративного хакатона мы немного «вышли из берегов».
Абед и я знали, что хотим представить раннюю версию Data Apps на нашем октябрьском выступлении. Мы хотели показать мощь Data Apps наряду с легкой масштабируемостью базы данных ClickHouse. Но у нас еще не было демо-версии, которая «сбивала бы с ног». К счастью, каждый год у нас проходит ежегодный корпоративный выезд с хакатоном. (В этом году он проходил в Торонто. Хотите на следующий? Мы нанимаем сотрудников.) Хакатон предоставил идеальную возможность выпить Red Bull, заручиться помощью старших инженеров и в целом довести каждый аспект нашей демо-версии до совершенства. Мы получили даже больше, чем ожидали. За день до хакатона мы обнаружили, что инженер по работе с клиентами Metabase Хуан Телло имеет опыт в астрономии, а его коллега Марк Макэлхинни — большой фанат F1. Используя этот опыт, мы разработали два приложения для работы с данными.
Наблюдение за астероидами, которые могут нас всех уничтожить
Это довольно пугающее приложение предоставляет 3D-визуализацию астероидов, вращающихся вокруг Солнца, включая те, чьи траектории проходят близко к Земле. По-видимому, многие астероиды почти сталкивались с Землей, и еще многие почти столкнутся. Но, как говорит Хуан, не волнуйтесь, «космос большой». (Скажи это динозаврам, Хуан.)
Мы создали приложение, загрузив данные NASA о положении астероидов в ClickHouse Cloud. Чтобы извлечь данные NASA, мы использовали отличную функцию ClickHouse, которая позволяет создавать таблицы по URL-адресам. После этого мы создали репозиторий на GitHub и использовали Claude для генерации первой версии нашей идеи приложения. Мы продолжали итерировать приложение, работая над разными ветками функций и объединяя каждую новую функцию, когда чувствовали, что она готова. Этот рабочий процесс с контролем версий позволил нам работать одновременно и принимать смелые, обратимые решения.
Воспроизведение гонок F1 на 60 миллионах строк
Наше приложение с данными об астероидах использовало около 30 тысяч строк данных. Для второй демо-версии мы хотели использовать гораздо больший набор данных, который показал бы, почему Data Apps хорошо сочетаются с ClickHouse. Поэтому мы решили использовать данные телеметрии F1, которые доступны как проект с открытым исходным кодом на Python. Данные телеметрии включают гоночные показатели, такие как скорость, газ, передача, данные о положении на трассе, записываемые несколько раз в секунду. Мы загрузили эти данные с помощью скриптов Python, получив около 60 миллионов строк.
Как выяснилось, Эндрю почти ничего не знает о F1, а Абед и Марк знают очень много. Сочетание незнания и экспертности привело нас к созданию платформы, которая показывает детальное воспроизведение отдельных гонок в удобном интерфейсе. Наша любимая функция позволяет повторно проехать лучший круг гонщика в конкретной гонке. Вы даже можете наблюдать, как руль резко поворачивается на крутых поворотах трассы.
Такой уровень детализации привел к тому, что наше приложение выполняло множество запросов в секунду. ClickHouse справился с этим масштабом на удивление хорошо. Благодаря колоночному хранению ClickHouse сильно сжимал данные, поэтому запросы могли считывать их быстро. Чтобы справиться с большим объемом запросов, ClickHouse Cloud запустил реплики чтения — несколько копий базы данных, работающих параллельно. Облачный сервис ClickHouse распределял входящие запросы поровну между этими копиями базы данных, гарантируя, что ни одна из них не будет перегружена.
Бонусная осенняя демо-версия: Metapumpkin
Честно говоря, мы были уверены, что выиграем хакатон Metabase. Мы ожидали, что нас будут носить на руках. Увы, в тот день было много крутых проектов (будь ты проклят, Тони Сини!). Но хакатон выполнил свою задачу: открыл нам глаза на безграничные возможности Data Apps и укрепил нашу презентацию AI Builders.
На самом деле, Абед, настолько увлеченный азартом созидания, на следующей неделе даже нашел время, чтобы создать третье приложение, Metapumpkin: корпоративное ERP-решение для успешной международной сети торговцев тыквами. Чтобы проиллюстрировать поток данных, Абед настроил мини-ПК для перемещения данных из производственной базы данных в ClickHouse с помощью инструментов промышленного уровня:
Около 100 человек из шведского сообщества специалистов по данным присоединились к нам на мероприятии ClickHouse в Стокгольме. Один из самых интересных вопросов из зала был: «Почему я должен заниматься созданием ИИ-решений именно с Metabase?». Это справедливый вопрос. Сегодня существует много способов «набросать» код приложения. Однако по-прежнему сложно обеспечить управление доступом в ваших ИИ-решениях и гарантировать точность их отчетности. С помощью Metabase Data Apps вы можете назначить доступ только тем, кому это необходимо. Вы можете настроить политику безопасности на уровне строк, чтобы определить, кто видит какие строки данных в приложении. И вы можете легко просматривать все запросы, отправленные из приложения, поскольку каждое приложение организовано как выделенная коллекция вопросов (т.е. SQL-запросов) в интерфейсе Metabase.
Помимо контроля доступа, Metabase также предлагает набор инструментов для курирования данных, представленных в ваших приложениях. Получив полную свободу действий, ИИ может генерировать довольно странный SQL. С помощью Metabase Data Studio вы можете публиковать надежные метрики и таблицы, на основе которых будет строиться ИИ. По мере того как структуры ваших данных со временем меняются, вы можете использовать управление зависимостями и контроль версий Data Studio, чтобы системы работали бесперебойно.
Попробуйте Data Apps сами
Мы вернулись из поездки в Швецию с желанием продолжать создавать и обсуждать Data Apps (огромное спасибо Дэниелу Мадалицо Фири за организацию мероприятия и приглашение).
Смотреть демо — это интересно, но создать собственное приложение еще лучше: Data Apps доступны в Metabase Pro версии 65 и выше. Руководство по началу работы поможет вам создать первое приложение. Если вы впервые пользуетесь Metabase, вы можете начать бесплатную пробную версию Cloud или обсудить свой сценарий использования с нашей командой экспертов.











