Luden
GuinsooLabGitHub
  • Welcome to Luden!
  • Quickstart
    • Deploying with Docker
    • Building from Source
    • Scaling Luden Server
  • Configuration
    • Configuration
    • Authorization
    • Destinations Conf
      • Snowflake
      • AWS S3
      • AWS RedShift
      • Postgres
      • Google BigQuery
      • MySQL
      • Clickhouse
      • Guinsoo
      • WebHook
    • Sources Conf
      • Synchronization Scheduling
      • Airbyte Based Sources
    • Sources Catelog
  • Features
    • JavaScript Transform
    • Destination Tags
    • Data Warehouses
    • Match Mode
    • Stream Mode
    • DBT Cloud Integration
    • Event Cache
    • Geo Data Resolution
    • Typecast
    • Admin Endpoint
    • Application Metrics
  • Sending Data
    • JS SDK
    • Node.js
    • Event API
    • Bulk API
    • Segment API
  • Extending
    • Destination Extensions
    • Source Extensions
    • API Specs
    • Luden Architecture
  • Appendix
    • Contribute
    • FAQs
Powered by GitBook
On this page
  • Definitions
  • Destination Modes
  • Transformation and Mapping Step
  1. Extending

Luden Architecture

PreviousAPI SpecsNextContribute

Last updated 2 years ago

Luden is a standalone application that doesn't have any requirements such as an inner database or others. Simultaneously some features need Redis, but these features are optional.

Definitions

  • Event: An incoming message as a JSON object. Message can be sent to Luden via API or JavaScript library.

  • Destination: Usually a database, but can be a different type of service as well. The destination is a service that contains structured records and supports an INSERT-like statement.

  • Table: A table in DB or any other structure within the destination.

  • BatchHeader: Describes a structure of batch: fields and types along with table name.

Destination Modes

Luden's destination can be operated in two modes:

  • Stream: Data (events) is being sent to a destination as soon as possible.

  • Batch: Data is being written to local disk and sent to a destination in batches, once in N (configurable) minutes.

Transformation and Mapping Step

In this step, all configured mappings are applied to a JSON object and as a result, BatchHeader is generated. Read about and configuration. After all mapping are applied, JSON is flattened, and all special characters and spaces in field names are replaced with underscores. Also values types recognition happens here, read about .

JavaScript Transformation
Schema and Mapping
Typecast