Passer au contenu principal
Moose OLAP est un module clé de la Moose Stack, une boîte à outils open source destinée aux développeurs pour créer des backends analytiques en temps réel en Typescript et Python. Moose OLAP propose des abstractions adaptées aux développeurs et des fonctionnalités de type ORM, conçues nativement pour ClickHouse.

Principales fonctionnalités de Moose OLAP

  • Schémas sous forme de code : Définissez vos tables ClickHouse en TypeScript ou en Python avec typage sûr et autocomplétion dans l’IDE
  • Requêtes avec typage sûr : Écrivez des requêtes SQL avec vérification des types et autocomplétion
  • Développement local : Développez et testez sur des instances ClickHouse locales sans affecter la production
  • Gestion des migrations : Versionnez vos modifications de schéma et gérez les migrations dans le code
  • Streaming en temps réel : Prise en charge intégrée pour associer ClickHouse à Kafka ou Redpanda pour l’ingestion en streaming
  • API REST : Générez facilement des API REST entièrement documentées à partir de vos tables et vues ClickHouse

Premiers pas en moins de 5 minutes

Pour les guides d’installation et de prise en main les plus récents et les plus complets, consultez la documentation Moose Stack. Ou suivez ce guide pour démarrer avec Moose OLAP sur un déploiement ClickHouse ou ClickHouse Cloud existant en moins de 5 minutes.

Prérequis

  • Node.js 20+ ou Python 3.12+ - Requis pour le développement en TypeScript ou en Python
  • Docker Desktop - Pour l’environnement de développement local
  • macOS/Linux - Windows fonctionne via WSL2
1

Installer Moose

Installez la CLI Moose à l’échelle du système :
2

Configurer votre projet

Option A : utiliser votre déploiement ClickHouse existant

Important : votre ClickHouse de production restera intact. Cette opération initialise simplement un nouveau projet Moose OLAP avec des modèles de données dérivés de vos tables ClickHouse.
Votre chaîne de connexion ClickHouse doit respecter ce format :

Option B : utiliser ClickHouse Playground

Vous n’avez pas encore de déploiement ClickHouse opérationnel ? Utilisez le ClickHouse Playground pour essayer Moose OLAP !
3

Installer les dépendances

Vous devriez voir : Successfully generated X models from ClickHouse tables
4

Explorer vos modèles générés

La CLI Moose génère automatiquement des interfaces TypeScript ou des modèles Pydantic Python à partir de vos tables ClickHouse existantes.Consultez vos nouveaux modèles de données dans le fichier app/index.ts.
5

Démarrer le développement

Démarrez votre serveur de développement pour lancer une instance ClickHouse locale avec toutes vos tables de production automatiquement recréées à partir de vos définitions de code :
Important : votre ClickHouse de production restera intact. Cette commande crée un environnement de développement local.
6

Peupler votre base de données locale

Importez vos données dans votre instance ClickHouse locale :

Depuis votre propre ClickHouse

Depuis ClickHouse Playground

7

Développer avec Moose OLAP

Maintenant que vos tables sont définies dans le code, vous bénéficiez des mêmes avantages que les modèles de données ORM dans les applications web : sécurité de typage et autocomplétion pour créer des API et des vues matérialisées à partir de vos données analytiques. Pour aller plus loin, vous pouvez par exemple :

Obtenir de l’aide et rester en contact

  • Application de référence : Découvrez l’application de référence open source, Area Code : un dépôt de départ avec tous les composants nécessaires pour créer une application complète, prête pour l’entreprise, qui nécessite une infrastructure spécialisée. Deux exemples d’application sont proposés : User Facing Analytics et Operational Data Warehouse.
  • Communauté Slack : Échangez avec les mainteneurs de Moose Stack sur Slack pour obtenir de l’aide et partager vos retours
  • Voir les tutoriels : Tutoriels vidéo, démos et présentations approfondies des fonctionnalités de Moose Stack sur YouTube
  • Contribuer : Consultez le code, contribuez à Moose Stack et signalez des issues sur GitHub
Dernière modification le 2 juillet 2026