- Résout la complexité et la lenteur du développement des backends de données traditionnels, et permet de développer rapidement un backend analytique en TypeScript ou en Python
- Stack fournie par défaut (ClickHouse, Redpanda, Temporal), avec des extensions prévues vers diverses plateformes cloud
- Simplifie le développement local pour permettre des tests rapides et un hot reload immédiat
- Adapté à la création de diverses applications intensives en données, avec des usages possibles en analytique temps réel, migration de données, event streaming, etc.
Moose
- Moose est un framework qui permet de construire un backend analytique uniquement avec du code TypeScript ou Python
- Il existe pour résoudre les problèmes de lenteur et de complexité des outils traditionnels de développement de backends de données
-
Les problèmes liés à la création d’un backend analytique avec les outils actuels
- Problème de dispersion des outils
Beaucoup de temps est perdu à intégrer de nombreux services comme Kafka, ClickHouse, Postgres, dbt ou Airflow
- Problème d’incohérence de schéma
Les modèles de code, les schémas de base de données, la validation API et les formats de message finissent par diverger avec le temps
- Difficultés du workflow de développement
L’absence de tests locaux, les cycles de déploiement longs et les changements de contexte fréquents réduisent la productivité des développeurs
- Traitement réservé à SQL
Il est contraignant de devoir utiliser uniquement SQL au lieu de langages de programmation familiers
-
Les problèmes lorsqu’on le construit soi-même
- Même pour ajouter un simple champ, il faut tout gérer manuellement
- Modifier les modèles de code TypeScript/Python
- Modifier le schéma de la base de données
- Mettre à jour les topics Kafka
- Mettre à jour la validation à l’exécution
- Mettre à jour les transformations et les requêtes
- Tester en toute sécurité chaque changement demande à chaque fois beaucoup de temps et d’efforts
L’approche de Moose
-
Ce que Moose apporte
- Le code TypeScript ou Python lui-même joue le rôle de source unique de vérité pour la logique de l’application de données et l’infrastructure
- L’approche par le code garantit
- une sécurité de type et une validation complètes
- la suppression du code boilerplate
- la détection précoce des erreurs pendant le développement
-
Suppression des changements de contexte
- Plus besoin de se soucier des conventions de nommage des tables, de la synchronisation entre modèles et tables, ni du caractère nullable des champs
-
Développement local
- Exécution en un clic
Toute l’infrastructure de données peut être lancée en local avec une seule commande
- Zéro configuration
Tous les composants sont préconfigurés, sans réglage supplémentaire
- Même structure qu’en production
Utilise la même stack technologique que l’environnement réel de déploiement
- Feedback en temps réel
Les modifications sont immédiatement répercutées sur toute la stack
-
Workflow de développement habituel
- Lorsqu’un modèle est ajouté ou modifié, il suffit de sauvegarder pour que l’infrastructure locale soit hot reloadée immédiatement
- Lorsqu’un nouveau champ est ajouté, il est appliqué immédiatement à l’API, aux streams et à la base de données
- Les tests de pipeline peuvent aussi être vérifiés immédiatement en envoyant des données d’exemple via l’API d’ingestion locale
-
Workflow de hot reloading
- Après modification d’un modèle, il suffit de sauvegarder pour que les changements soient appliqués automatiquement
- Les champs ajoutés sont automatiquement appliqués à la validation API, au schéma de la base de données et aux streams
-
Modularité
- Il est possible de composer la configuration en ne sélectionnant que les composants nécessaires
Stack Moose fournie par défaut
- ClickHouse
Base de données OLAP activée par défaut
- Redpanda
Plateforme d’event streaming compatible Kafka (désactivable)
- Temporal
Outil d’orchestration de workflows (désactivable)
-
Extensions prévues
- Snowflake, Databricks, BigQuery
Support prévu des data warehouses cloud
- Kafka, Kinesis, Pulsar
Support prévu de diverses plateformes d’event streaming compatibles Kafka
Ce qu’on peut construire avec Moose
- Analytique temps réel pour les utilisateurs
Intégration de classements, graphiques, métriques, etc. dans des applications web/mobile
- BI et data warehouse
Collecte de diverses sources de données pour construire une base analytique et générer des rapports
- Migration de données
Déplacement des données depuis des systèmes legacy vers un backend de données moderne
- Event streaming
Traitement en temps réel des événements sur des plateformes de streaming comme Kafka ou Redpanda
- Tâches ETL
Collecte régulière de données depuis diverses sources et chargement dans un environnement d’analyse
Aucun commentaire pour le moment.