Перейти к основному содержанию
Moose OLAP — это ключевой модуль Moose Stack, набора инструментов для разработчиков с открытым исходным кодом, предназначенного для создания аналитических backend-систем реального времени на TypeScript и Python. Moose OLAP предоставляет удобные для разработчиков абстракции и ORM-подобную функциональность, изначально разработанные для ClickHouse.

Ключевые возможности Moose OLAP

  • Схемы как код: Описывайте таблицы ClickHouse на TypeScript или Python с типобезопасностью и автодополнением в IDE
  • Типобезопасные запросы: Пишите SQL-запросы с проверкой типов и поддержкой автодополнения
  • Локальная разработка: Разрабатывайте и тестируйте с локальными экземплярами ClickHouse, не затрагивая продакшн
  • Управление миграциями: Версионируйте изменения в схеме и управляйте миграциями через код
  • Стриминг в реальном времени: Встроенная поддержка работы ClickHouse в связке с Kafka или Redpanda для потокового приёма данных
  • REST API: Легко создавайте полностью документированные REST API поверх таблиц и представлений ClickHouse

Начало работы за 5 минут

Актуальные и наиболее полные руководства по установке и началу работы см. в документации Moose Stack. Или следуйте этому руководству, чтобы менее чем за 5 минут начать работу с Moose OLAP в существующем развертывании ClickHouse или ClickHouse Cloud.

Предварительные требования

  • Node.js 20+ или Python 3.12+ — требуется для разработки на TypeScript или Python
  • Docker Desktop — для локальной среды разработки
  • macOS/Linux — Windows поддерживается через WSL2
1

Установите Moose

Установите Moose CLI глобально в системе:
2

Настройте проект

Вариант A: используйте существующее развертывание ClickHouse

Важно: Ваш ClickHouse в продакшн останется нетронутым. Эта команда лишь инициализирует новый проект Moose OLAP с моделями данных, созданными на основе ваших таблиц ClickHouse.
Строка подключения к ClickHouse должна иметь следующий формат:

Вариант B: используйте Песочницу ClickHouse

ClickHouse ещё не запущен? Используйте Песочницу ClickHouse, чтобы попробовать Moose OLAP!
3

Установите зависимости

Вы должны увидеть: Successfully generated X models from ClickHouse tables
4

Изучите сгенерированные модели

Moose CLI автоматически генерирует интерфейсы TypeScript или модели Pydantic для Python на основе существующих таблиц ClickHouse.Новые модели данных можно посмотреть в файле app/index.ts.
5

Начните разработку

Запустите dev-сервер, чтобы поднять локальный экземпляр ClickHouse, в котором все ваши таблицы из продакшн будут автоматически воссозданы на основе определений в коде:
Важно: Ваш ClickHouse в продакшн останется нетронутым. Эта команда создаёт локальную среду разработки.
6

Заполните локальную базу данных тестовыми данными

Загрузите данные в локальный экземпляр ClickHouse:

Из собственного ClickHouse

Из Песочницы ClickHouse

7

Разработка с Moose OLAP

Теперь, когда ваши таблицы определены в коде, вы получаете те же преимущества, что и при работе с ORM-моделями данных в веб-приложениях: типобезопасность и автодополнение при создании API и materialized view поверх аналитических данных. В качестве следующего шага можно попробовать:

Получите помощь и оставайтесь на связи

  • Эталонное приложение: Ознакомьтесь с эталонным приложением с открытым исходным кодом Area Code — стартовым репозиторием со всеми необходимыми компонентами для многофункционального приложения корпоративного уровня, которому требуется специализированная инфраструктура. Доступны два примера приложений: User Facing Analytics и Operational Data Warehouse.
  • Сообщество Slack: Свяжитесь с сопровождающими Moose Stack в Slack, чтобы получить поддержку и поделиться отзывом
  • Смотрите обучающие материалы: Видеоуроки, демо и подробные обзоры возможностей Moose Stack на YouTube
  • Участвуйте в разработке: Ознакомьтесь с кодом, внесите свой вклад в Moose Stack и сообщайте о проблемах на GitHub
Последнее изменение 2 июля 2026 г.