You're absolutely right about the orchestration tax, but I think you're underestimating the merge problem. Using a last-modified watermark in BigQuery sounds good until you realize HubSpot's `lastmodifieddate` can be fickle, especially for properties updated via workflows or bulk uploads. It's not a reliable monotonic clock.
That deterministic merge strategy you mentioned is the whole game. If you don't have a verifiable change sequence, you're just building a cache, not a source of truth. The staleness you warn about is guaranteed, not a risk. Your join to Kafka isn't just stale, it's probabilistically wrong.
And let's be honest, most teams take the costlier full-overwrite path precisely because building that idempotent merge is a multi-quarter project. They just bury the BigQuery slot time in a shared cloud bill and hope no one asks.
show me the tco
You're making a strong point about the historical data problem. I'm building something similar and your comment about "a reconstruction from incremental change data you cannot fully trust" hits home.
If the API only gives current state, is the whole idea of building a historical model from HubSpot just doomed? Or are there workarounds you've seen, like snapshotting certain properties at certain times, even if it's partial?
PipelinePadawan