6 Punkte von abcdkh1209 2026-02-26 | 1 Kommentare | Auf WhatsApp teilen

Als Solo-Entwickler in einem Unternehmen verwalte ich mehrere Server und Services, und bekomme dabei immer wieder Fragen wie: „Wie sahen diese Daten Ende letzten Monats aus?“
Jedes Mal erst ein pg_dump-Backup zu suchen, eine temporäre DB hochzufahren, sie wiederherzustellen, Queries auszuführen und danach alles aufzuräumen, war mir viel zu umständlich – deshalb habe ich das selbst gebaut.
Snaplake ist ein Self-Hosting-Tool, das DB-Tabellen regelmäßig als Parquet-Dateien snapshotet und sie ohne Backup-Wiederherstellung direkt mit DuckDB per SQL abfragbar macht.

Hauptfunktionen

  • Snapshot-Erfassung — Speichert PostgreSQL- und MySQL-Tabellen als Apache-Parquet-Dateien. Unterstützt Cron-basierte automatische Snapshots und Aufbewahrungsrichtlinien (täglich/monatlich)
  • SQL-Abfragen — Auf Basis von DuckDB lassen sich Snapshots beliebiger Zeitpunkte sofort per SQL abfragen. Tabellen-Joins, Aggregationen sowie Export nach CSV/JSON sind möglich
  • Snapshot-Vergleich — Stellt Snapshots von zwei Zeitpunkten nebeneinander und zeigt zeilenweise Diffs. Hinzugefügte/gelöschte/geänderte Zeilen werden farblich unterschieden
  • Flexibler Storage — Lokales Dateisystem oder S3-kompatibler Storage (AWS S3, MinIO usw.)

Tech-Stack

  • Backend: Kotlin, Spring Boot 3.4, Java 21
  • Query Engine: DuckDB (direkte Abfrage von Parquet-Dateien)
  • Frontend: React 19, TypeScript, Vite
  • Speicherung der Metadaten: SQLite
  • Authentifizierung: JWT + Argon2

Mit einer einzigen Docker-Zeile kann man sofort loslegen.

docker run -d --name snaplake -p 8080:8080 -v snaplake-data:/app/data abcdkh1209/snaplake:latest  

Ich denke, das könnte für kleine Teams oder Solo-Entwickler nützlich sein, für die teure Datenbeobachtungs-Tools schwer einzuführen sind. Feedback ist willkommen!

1 Kommentare

 
sonic0987 2026-02-27

Einfach, aber überzeugend – macht Spaß!