Snaplake - बैकअप restore के बिना पुराने DB डेटा को क्वेरी करने का self-hosted टूल
(snaplake.clroot.io)कंपनी में एक solo developer के रूप में मैं कई server/service मैनेज कर रहा हूँ, और अक्सर मुझसे पूछा जाता है, "पिछले महीने के आखिर में यह डेटा कैसा था?"
हर बार pg_dump बैकअप ढूँढना, एक अस्थायी DB चलाना, restore करना, query चलाना, और फिर सब साफ़ करना बहुत झंझटभरा था, इसलिए मैंने इसे खुद बनाया।
Snaplake एक self-hosted टूल है जो DB tables को समय-समय पर Parquet files के रूप में snapshot करता है, और बैकअप restore किए बिना DuckDB से सीधे SQL query करने देता है.
मुख्य फीचर्स
- Snapshot capture — PostgreSQL, MySQL tables को Apache Parquet files में सेव करता है. Cron-आधारित automatic snapshots और retention policy (daily/monthly) का समर्थन
- SQL query — DuckDB आधारित, किसी भी समय-बिंदु के snapshot पर तुरंत SQL query. Table join, aggregation, CSV/JSON export संभव
- Snapshot comparison — दो समय-बिंदुओं के snapshots को साथ रखकर row-level diff. जोड़ी गई/हटाई गई/बदली गई rows को रंगों से अलग दिखाता है
- Flexible storage — local filesystem या S3-compatible storage (AWS S3, MinIO आदि)
टेक स्टैक
- Backend: Kotlin, Spring Boot 3.4, Java 21
- Query Engine: DuckDB (Parquet files पर direct query)
- Frontend: React 19, TypeScript, Vite
- Metadata storage: SQLite
- Authentication: JWT + Argon2
Docker की एक लाइन से तुरंत शुरू किया जा सकता है.
docker run -d --name snaplake -p 8080:8080 -v snaplake-data:/app/data abcdkh1209/snaplake:latest
महंगे data observability tools अपनाना मुश्किल हो ऐसे छोटे टीमों या solo developers के लिए यह उपयोगी हो सकता है. फीडबैक का स्वागत है!
- Landing: https://snaplake.clroot.io
- GitHub: https://github.com/clroot/snaplake
- Docker Hub: https://hub.docker.com/r/abcdkh1209/snaplake
1 टिप्पणियां
सरल है, लेकिन पक्का असरदार है — मज़ेदार है!