11 points par xguru 2025-04-30 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • 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.

Aucun commentaire pour le moment.