boilingdata/boilstream
boilingdata/boilstream has 105 GitHub stars and 1 forks. GitHot measured 0 in 7 days. Last checked 2026-11-10 04:43 UTC. Last push 2026-07-03.
So werden diese Zahlen gemessen
Rust based DuckDB Server with 1st class Postgres interface for BI Tools like Power BI and Tableau. Streaming interfaces like Web, Kafka, and FlightSQL/RPC.
What you can do
- Multi-tenant DuckDB — Full tenant isolation (secrets, attachments, DuckLakes, filesystem)
- Streaming views — Continuous row-by-row SQL transforms on ingested data
- Materialized views — Tumbling/sliding window aggregations with DuckDB SQL
- Full-text search — Integrated Tantivy indexing with hot/cold tiered storage and multilake_search() SQL function
Gemessener Sternzuwachs
- in 24h
- Aktualisierung verzögert
- in 7 days
- 0
- in 15 days
- Aktualisierung verzögert
- in 1 month
- Aktualisierung verzögert
Nettoänderungen in überlappenden Zeiträumen, keine Tagessummen. Fehlende Messwerte bleiben leer. Sterne zeigen Interesse, nicht Qualität.
README.md
OriginalBoilStream — Streaming Ingestion Lakehouse
BoilStream is a multi-tenant DuckDB server written in Rust with native DuckLake integration. Ingest, transform, aggregate, search, and consume streaming data — all with SQL.
Download, start, and connect with any Postgres-compatible BI tool. Data streams to S3 as DuckLake-managed Parquet files in real-time.
Key Features
Streaming Data Flow — Ingest → Transform → Aggregate → Search → Consume
- Multi-tenant DuckDB — Full tenant isolation (secrets, attachments, DuckLakes, filesystem)
- Streaming views — Continuous row-by-row SQL transforms on ingested data
- Materialized views — Tumbling/sliding window aggregations with DuckDB SQL
- Full-text search — Integrated Tantivy indexing with hot/cold tiered storage and
multilake_search()SQL function - Real-time consumption — SSE push with Arrow IPC batches via
@boilstream/consumerJS SDK - DuckLake integration — Embedded PostgreSQL catalog, 1s hot tier commits, cold tier hydration (>1GB/s)
- DuckLake vending — Credential vending for native DuckDB, DuckDB-WASM, and in-server queries
- Enterprise auth — Entra ID SAML, SCIM provisioning, MFA/Passkeys, Web Auth GUI
- Cluster mode — S3-based leader election, distributed catalog management
- Multi-cloud — AWS S3, Azure Blob, GCS, MinIO, filesystem
Companion projects: boilstream-extension for DuckDB/WASM clients | @boilstream/consumer for SSE consumption
Interfaces
| Interface | Port | Description |
|---|---|---|
| Postgres | 5432 | BI tools (Power BI, DBeaver, Grafana, psql). Type compliance report |
| FlightRPC | 50051 | High-performance Arrow ingestion via Airport extension |
| FlightSQL | 50250 | Arrow SQL for ADBC drivers and FlightSQL clients |
| HTTP/2 Arrow | 443 | Arrow POST from browsers or HTTP clients |
| Kafka | 9092 | Kafka wire protocol with Schema Registry and Confluent binary Avro |
| SSE | 443 | Real-time Arrow IPC push to browsers and services |
Start
See GitHub releases for the latest version.
# Download — pick your platform from:
# darwin-aarch64 Apple Silicon Mac
# linux-aarch64 Linux ARM64 — single Neoverse N1-safe build, runs on
# AWS Graviton 2/3/4, Hetzner cax*, Oracle Ampere A1,
# Apple Silicon under Docker.
# linux-x64 Linux x86_64
# windows-x64 Windows
# Replace {VERSION} with the latest release (see GitHub releases above, e.g. 0.10.27)
curl -L -o boilstream https://www.boilstream.com/binaries/darwin-aarch64/boilstream-{VERSION}
curl -L -o boilstream-admin https://www.boilstream.com/binaries/darwin-aarch64/boilstream-admin-{VERSION}
chmod +x boilstream boilstream-admin
SERVER_IP_ADDRESS=1.2.3.4 ./boilstream
# Docker — single ARM64 image runs on AWS Graviton, Hetzner cax*, Oracle
# Ampere A1, and Apple Silicon (or use x64-linux for x86_64):
docker run -v ./config.yaml:/app/config.yaml \
-p 443:443 -p 5432:5432 -p 50051:50051 -p 50250:50250 \
-e SERVER_IP_ADDRESS=1.2.3.4 boilinginsights/boilstream:aarch64-linux-{VERSION}
Use the accompanying
docker-compose.ymlto start Grafana and MinIO
Streaming DuckLakes
DuckLakes with __stream suffix enable real-time streaming. Tables become ingestion topics.
CREATE TABLE my_data__stream.main.events (user_id VARCHAR, event_type VARCHAR, ts TIMESTAMP, payload JSON);
-- Streaming view: continuous row-by-row filter
CREATE STREAMING VIEW clicks AS SELECT * FROM events WHERE event_type = 'click';
-- Materialized view: windowed aggregation
CREATE MATERIALIZED VIEW events_per_min AS
SELECT event_type, COUNT(*) AS cnt FROM events
WITH (window_type='tumbling', window_size='1 minute', timestamp_column='ts');
-- Full-text search: enable indexing, then query
ALTER TABLE my_data__stream.main.events SET (tantivy_enabled = true, tantivy_text_fields = 'payload');
SELECT * FROM multilake_search('my_data__stream', 'events__tantivy_idx', 'error timeout');
Ingest with DuckDB
When INSERT returns, data is guaranteed on S3.
INSTALL airport FROM community;
LOAD airport;
ATTACH 'my_data__stream' (TYPE AIRPORT, location 'grpc://localhost:50051/');
INSERT INTO my_data__stream.main.events
SELECT 'user_' || i::VARCHAR, CASE WHEN i % 3 = 0 THEN 'click' ELSE 'view' END,
NOW(), '{"page": "home"}'
FROM generate_series(1, 20000) AS t(i);
Kubernetes
A production-ready Helm chart ships in charts/boilstream — StatefulSet, per-pod Envoy Gateway routes (TLS-passthrough SNI + per-pod L4 TCPRoute), cert-manager TLS, S3-coordinated cluster mode, and optional pod-to-pod mTLS.
helm install boilstream oci://ghcr.io/boilingdata/charts/boilstream \
--version 0.3.27 \
-n boilstream --create-namespace \
-f my-values.yaml
Reference overlays: values-eks-example.yaml (AWS EKS + IRSA + S3) and values-hetzner-example.yaml (CloudFleet + Hetzner ARM64 + Hetzner Object Storage). Full walkthrough: docs.boilstream.com/guide/kubernetes.
Requirements
- 8GB+ RAM recommended
- macOS (arm64) or Linux (x64, arm64)
- Docker optional (for Grafana, MinIO)
Changelog
See CHANGELOG.md for version history and release notes.
Documentation
Full docs: docs.boilstream.com | Contact: boilstream.com
Ähnliche Projekte entdecken
Asabeneh/30-Days-Of-Python
Die Programmier-Challenge 30 Days of Python ist eine Schritt-für-Schritt-Anleitung, um die Programmiersprache Python in 30 Tagen zu lernen. Diese Challenge kann mehr als 100 Tage dauern. Gehe in deinem eigenen Tempo vor. Diese Videos können ebenfalls helfen: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,560 Sternegrafana/grafana
Offene und kombinierbare Plattform für Observability und Datenvisualisierung. Visualisiert Metriken, Logs und Traces aus mehreren Quellen wie Prometheus, Loki, Elasticsearch, InfluxDB, Postgres und vielen weiteren.
77,830 Sterneredis/redis
Für Entwickler, die echtzeitfähige, datengesteuerte Anwendungen erstellen, ist Redis der bevorzugte, schnellste und funktionsreichste Cache, Datenstrukturserver und die entsprechende Abfrageengine für Dokumente und Vektoren.
77,395 Sterneapache/superset
Apache Superset ist eine Plattform für Datenvisualisierung und Datenexploration.
75,473 Sterne