unsubbed.co

Timeplus

Timeplus gives you lightweight, powerful, and cost-efficient stream processing platform for real-time analytics, on your own infrastructure.

Overview

⚡ Fastest SQL ETL pipeline in a single C++ binary, built for stream processing, observability, analytics and AI/ML Timeplus unifies real-time streaming and historical data in a single binary, implementing mission-critical workloads to act on fast changing events and insights, deployable from the edge to the cloud. Fastest SQL pipeline engine for stream processing, analytics, observability and AI The project has 2K+ GitHub stars and is licensed under Apache-2.0.

Getting Started

Source: GitHub README

-- Read from AWS MSK using IAM Role
CREATE EXTERNAL STREAM aws_msk_stream (
  device string,
  temperature float
)
SETTINGS
    type='kafka',
    brokers='prefix.kafka.us-west-2.amazonaws.com:9098',
    topic='topic',
    security_protocol='SASL_SSL',
    sasl_mechanism='AWS_MSK_IAM';

-- Write to ClickHouse
CREATE EXTERNAL TABLE ch_aiven
SETTINGS type='clickhouse',
            address='abc.aivencloud.com:28851',
            user='avnadmin',
            password='..',
            secure=true,
            table='events';

-- Setup a long-running materialized view to write aggregated data to ClickHouse
CREATE MATERIALIZED VIEW mv_msk2ch INTO ch_aiven AS
SELECT window_start as timestamp, device, avg(temperature) as avg_temperature
FROM tumble(aws_msk_stream, 10s) GROUP BY window_start, device;
-- Create a stream with random data
CREATE RANDOM STREAM devices(
  device string default 'device'||to_string(rand()%4),
  temperature float default rand()%1000/10);

-- Run the streaming SQL
SELECT device, count(*), min(temperature), max(temperature)
FROM devices GROUP BY device;

Normalized Features

Source: tool-features-normalized.json

brew, clickhouse, docker, docker compose, kubernetes, mongodb, mysql, postgresql, rest api, webhooks.

Features

Integrations & APIs

  • REST API
  • Webhooks