Разработка на ClickHouse с Moose OLAP
Moose OLAP — это основной модуль Moose Stack, набора инструментов с открытым исходным кодом для разработки аналитических бэкэндов в реальном времени на Typescript и Python.
Moose OLAP предлагает удобные для разработчиков абстракции и функциональность, схожую с ORM, разработанную нативно для ClickHouse.
Ключевые особенности Moose OLAP
- Схемы как код: Определяйте ваши таблицы ClickHouse на TypeScript или Python с безопасностью типов и автозаполнением в IDE
- Запросы с безопасностью типов: Пишите SQL-запросы с поддержкой проверки типов и автозаполнения
- Локальная разработка: Разрабатывайте и тестируйте на локальных инстансах ClickHouse, не затрагивая продуктивную среду
- Управление миграциями: Контролируйте версии ваших изменений схемы и управляйте миграциями через код
- Потоковая обработка в реальном времени: Встроенная поддержка подключения ClickHouse к Kafka или Redpanda для потоковой загрузки
- REST APIs: Легко генерируйте полностью документированные REST APIs на основе ваших таблиц и представлений ClickHouse
Начало работы менее чем за 5 минут
Для последних и лучших руководств по установке и началу работы, смотрите документацию Moose Stack.
Или следуйте этому руководству, чтобы быстро начать работу с Moose OLAP на существующем развертывании ClickHouse или ClickHouse Cloud менее чем за 5 минут.
Требования
- Node.js 20+ ИЛИ Python 3.12+ - Необходимы для разработки на TypeScript или Python
- Docker Desktop - Для локальной среды разработки
- macOS/Linux - Windows работает через WSL2
Настройте ваш проект
Вариант A: Используйте ваше собственное развертывание ClickHouse
Важно: Ваш продуктивный ClickHouse останется нетронутым. Это просто инициализирует новый проект Moose OLAP с моделями данных, основанными на ваших таблицах ClickHouse.
Ваша строка подключения ClickHouse должна быть в следующем формате:
Вариант B: используйте игровой стенд ClickHouse
Не удалось запустить ClickHouse? Используйте Игровой стенд ClickHouse, чтобы попробовать Moose OLAP!
Изучите ваши сгенерированные модели
CLI Moose автоматически генерирует интерфейсы TypeScript или модели Pydantic Python из ваших существующих таблиц ClickHouse.
Посмотрите ваши новые модели данных в файле app/index.ts
.
Начните разработку
Запустите ваш сервер разработки, чтобы запустить локальный экземпляр ClickHouse со всеми вашими продуктивными таблицами, автоматически воссозданными из ваших кодовых определений:
Важно: Ваш продуктивный ClickHouse останется нетронутым. Это создает локальную среду разработки.
Разработка с помощью Moose OLAP
Теперь, когда у вас есть ваши Таблицы, определенные в коде, вы получаете те же преимущества, что и модели данных ORM в веб-приложениях - безопасность типов и автозаполнение при создании APIs и Материализованных Представлений на основе ваших аналитических данных. На следующем этапе вы можете попробовать:
- Построение REST API с Moose API
- Загрузка или преобразование данных с помощью Moose Workflows или Moose Streaming
- Изучите возможность перехода в продукцию с Moose Build и Moose Migrate
Получить помощь и оставаться на связи
- Справочное приложение: Ознакомьтесь с открытым справочным приложением, Area Code: стартовый репозиторий со всеми необходимыми строительными блоками для функционального, готового к предприятиям приложения, требующего специализированной инфраструктуры. Есть два примера приложений: Аналитика для пользователей и Операционный аналитический склад данных.
- Сообщество в Slack: Свяжитесь с кураторами Moose Stack в Slack для поддержки и обратной связи
- Смотрите учебные видео: Видеоуроки, демонстрации и глубокие погружения в функции Moose Stack на Youtube
- Внесите свой вклад: Ознакомьтесь с кодом, внесите вклад в Moose Stack и сообщите о проблемах на GitHub