Add change detection and watermark tracking to extractors
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- go, google-cloud, kafka, mysql, postgresql
- Ambito
- backend, data-engineering, databases
Direzione di ricerca
Inizia leggendo le interfacce dei plugin in plugins/plugin.go e l’orchestrazione del runner in runner/runner.go, quindi esamina runner/config.go, cmd/run.go e l’estrattore BigQuery. Definisci i confini di state/watermark e come mantenere disponibile l’estrazione completa. Il lavoro è completato quando gli estrattori ad alto volume elencati possono emettere metadati delle modifiche e ricorrere all’estrazione completa quando non esiste alcun watermark.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Context
Meteor currently extracts everything on every run. For high-volume sources, this is wasteful and slow. Change detection allows extractors to emit only what changed since the last run.
Scope
- Define a watermark/checkpoint interface that extractors can implement
- Store watermarks between runs (local file, config store, or Compass state)
- Update high-volume extractors to support incremental extraction:
- BigQuery — use
INFORMATION_SCHEMAtimestamps for modified tables - Postgres/MySQL — track schema modification timestamps
- Kafka — track topic configuration changes
- BigQuery — use
- Emit change type metadata on records:
created,updated,deleted - Fall back to full extraction when no watermark exists
Design Considerations
- Watermark storage should be pluggable (local file for dev, remote store for production)
- Full extraction should remain available as a fallback or explicit mode
- Change detection accuracy varies by source — document limitations per extractor
Key Files
| Area | Location |
|---|---|
| Plugin interfaces | plugins/plugin.go |
| Runner orchestration | runner/runner.go |
| Runner config | runner/config.go |
| CLI run command | cmd/run.go |
| State store (new) | state/ |
| BigQuery extractor | plugins/extractors/bigquery/bigquery.go |
Why
Incremental extraction reduces load on sources, shrinks payloads, and enables faster refresh cycles. A graph that updates in minutes instead of hours is significantly more useful for AI agents.
References
- Lingua principale
- Go
- Stelle
- 242
- Fork
- 45
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di raystack/meteor
Tutte le issue di raystack/meteor
Issue simili
-
nix: vendorHash is outdated Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
-
Bob Shell support Apertaenhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
santhosh-tekuri/jsonschema#276 ·