6 पॉइंट द्वारा abcdkh1209 2026-02-26 | 1 टिप्पणियां | WhatsApp पर शेयर करें

कंपनी में एक 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 के लिए यह उपयोगी हो सकता है. फीडबैक का स्वागत है!

1 टिप्पणियां

 
sonic0987 2026-02-27

सरल है, लेकिन पक्का असरदार है — मज़ेदार है!