11 Punkte von xguru 2025-04-30 | Noch keine Kommentare. | Auf WhatsApp teilen
  • Löst die Komplexität und Langsamkeit der bisherigen Entwicklung von Daten-Backends und ermöglicht die schnelle Entwicklung von Datenanalyse-Backends mit TypeScript oder Python
  • Mitgelieferter Stack (ClickHouse, Redpanda, Temporal) sowie künftig geplante Erweiterungen auf verschiedene Cloud-Plattformen
  • Vereinfacht die lokale Entwicklung und unterstützt schnelles Testen sowie sofortiges Hot Reloading
  • Geeignet für den Aufbau verschiedenster datenintensiver Anwendungen und einsetzbar für Echtzeit-Analysen, Datenmigration, Event-Streaming und mehr

Moose

  • Moose ist ein Framework, mit dem sich Datenanalyse-Backends allein mit TypeScript- oder Python-Code aufbauen lassen
  • Es existiert, um die Probleme langsamer und komplexer Tooling-Landschaften bei der Entwicklung bestehender Daten-Backends zu lösen
  • Probleme beim Aufbau von Analyse-Backends mit heutigen Tools

    • Verstreute Tools
      Viel Zeit geht für die Integration zahlreicher Services wie Kafka, ClickHouse, Postgres, dbt und Airflow verloren
    • Probleme durch Schema-Abweichungen
      Code-Modelle, Datenbankschemata, API-Validierung und Nachrichtenformate laufen mit der Zeit auseinander
    • Schwierige Entwicklungs-Workflows
      Fehlende lokale Tests, lange Deployment-Zyklen und häufige Kontextwechsel mindern die Produktivität der Entwicklung
    • Ausschließliche SQL-Verarbeitung
      Es ist unpraktisch, ausschließlich SQL statt vertrauter Programmiersprachen verwenden zu müssen
  • Probleme beim Eigenaufbau

    • Selbst für das bloße Hinzufügen eines einfachen Felds müssen alle folgenden Arbeiten manuell durchgeführt werden
      • TypeScript-/Python-Code-Modelle anpassen
      • Datenbankschema ändern
      • Kafka-Topic aktualisieren
      • Laufzeitvalidierung aktualisieren
      • Transformationen und Abfragen aktualisieren
    • Es kostet jedes Mal viel Zeit und Aufwand, alle Änderungen sicher zu testen

Der Lösungsansatz von Moose

  • Was Moose bereitstellt

    • TypeScript- oder Python-Code selbst dient als Single Source of Truth für Datenanwendungslogik und Infrastruktur
    • Auf Code-Basis wird Folgendes sichergestellt
      • vollständige Typsicherheit und Validierung
      • Entfernung von Boilerplate-Code
      • frühzeitiges Erkennen von Fehlern während der Entwicklung
  • Beseitigung von Kontextwechseln

    • Man muss sich keine Gedanken über Namenskonventionen für Datenbanktabellen, die Synchronisierung von Modell-/Tabellenfeldern oder die Nullable-Eigenschaft von Feldern machen
  • Lokale Entwicklung

    • Start mit einem Klick
      Mit nur einem einzigen Befehl lässt sich die gesamte Dateninfrastruktur lokal starten
    • Zero Config
      Alle Komponenten sind vorkonfiguriert, sodass kein separates Setup nötig ist
    • Gleiche Struktur wie in der Produktionsumgebung
      Es wird derselbe Technologie-Stack wie in der tatsächlichen Deployment-Umgebung verwendet
    • Echtzeit-Feedback
      Änderungen werden sofort im gesamten Stack übernommen
  • Typischer Entwicklungs-Workflow

    • Wenn ein Modell hinzugefügt oder geändert und gespeichert wird, wird es sofort per Hot Reload in die lokale Infrastruktur übernommen
    • Neue Felder werden sofort auf API, Streams und Datenbank angewendet
    • Pipeline-Tests können ebenfalls direkt überprüft werden, indem Beispieldaten an die lokale Ingest-API gesendet werden
  • Hot-Reloading-Workflow

    • Nach dem Ändern eines Modells genügt das Speichern, und die Änderungen werden automatisch übernommen
    • Hinzugefügte Felder werden automatisch auf API-Validierung, Datenbankschema und Streams angewendet
  • Modularität

    • Es können nur die jeweils benötigten Komponenten ausgewählt und konfiguriert werden

Mitgelieferter Moose-Stack

  • ClickHouse
    Standardmäßig aktivierte OLAP-Datenbank
  • Redpanda
    Kafka-kompatible Event-Streaming-Plattform (kann deaktiviert werden)
  • Temporal
    Tool zur Workflow-Orchestrierung (kann deaktiviert werden)
  • Geplante Erweiterungen

    • Snowflake, Databricks, BigQuery
      Unterstützung für Cloud-Data-Warehouses ist geplant
    • Kafka, Kinesis, Pulsar
      Unterstützung für verschiedene Kafka-kompatible Event-Streaming-Plattformen ist geplant

Was sich mit Moose aufbauen lässt

  • Echtzeit-Analysen für Endnutzer
    Integration von Leaderboards, Diagrammen und Metriken in Web- oder Mobile-Apps
  • BI und Data Warehouse
    Sammlung verschiedener Datenquellen zum Aufbau einer Analyse-Datenbank und zur Erstellung von Reports
  • Datenmigration
    Verschiebung von Daten aus Legacy-Systemen in moderne Daten-Backends
  • Event-Streaming
    Echtzeitverarbeitung von Events auf Streaming-Plattformen wie Kafka oder Redpanda
  • ETL-Jobs
    Regelmäßiges Sammeln von Daten aus verschiedenen Quellen und Laden in Analyseumgebungen

Noch keine Kommentare.

Noch keine Kommentare.