GoodData

System Architecture

GoodData is engineered for high-frequency event ingestion and real-time predictive modeling. We prioritize low-latency writes and asynchronous processing to ensure your application performance is never impacted.

The High-Level Flow

Data moves through a high-performance pipeline designed for speed and intelligence.

graph TD %% Node Styling classDef client fill:#1a1b26,stroke:#414558,color:#c0caf5; classDef server fill:#24283b,stroke:#bb9af7,color:#fff; classDef db fill:#16161e,stroke:#7aa2f7,color:#c0caf5; classDef ml fill:#ff9e64,stroke:#ff9e64,color:#1a1b26; classDef subgraphStyle fill:transparent,stroke:none,color:#e5e7eb; subgraph Client_Layer ["Client Layer"] Engine["Intelligence Engine (15kb JS Library)"]:::client end class Client_Layer subgraphStyle; subgraph Ingestion_Layer ["Ingestion Layer"] API["Ingestion API (Node.js / Express)"]:::server end class Ingestion_Layer subgraphStyle; subgraph Storage_Layer ["Persistence Layer"] Postgres[("PostgreSQL (Raw Event Store)")]:::db Timescale[("TimescaleDB (Aggregates)")]:::db end class Storage_Layer subgraphStyle; subgraph Intelligence_Layer ["ML Microservices"] ML["ML Workers (Python / Scikit-Learn)"]:::ml end class Intelligence_Layer subgraphStyle; %% Data Flow Engine -- "JSON Vectors (Async)" --> API API -- "Buffered Writes" --> Postgres Postgres -- "Batch Read" --> ML ML -- "Write Predictions" --> Timescale

Components Explained

Client Layer

The Intelligence Engine is a lightweight JavaScript library (15kb) that runs in your application. It collects behavioral signals, detects user intent, and sends events asynchronously to avoid blocking your app.

Ingestion Layer

The Ingestion API is built on Node.js/Express and handles high-volume event streams. Events are buffered and written to persistent storage with deduplication and validation.

Persistence Layer

PostgreSQL stores raw events for compliance and debugging. TimescaleDB handles time-series aggregations and serves queries for dashboards and ML pipelines.

Intelligence Layer

Python-based ML workers run asynchronously, processing event batches to generate predictions, anomaly detection, and behavioral insights that feed back into real-time recommendations.

Key Design Principles

  • Low Latency: Events processed in milliseconds
  • High Throughput: Millions of events per second
  • Data Privacy: Raw events isolated from analytics
  • Scalability: Horizontal scaling of workers
  • Real-time: Streaming predictions with sub-second latency

Learn more in our Getting Started guide.