Vega-Lite is built on Vega, which is fully reactive and can do partial updates. In order to use it, you need to update the data via the Vega view api. Check out https://vega.github.io/vega/docs/api/view/#view_data.
One other piece of advice I have it to reduce the number of marks you need to draw with aggregation or sampling. I used this approach in https://github.com/uwdata/falcon to visualize billions of points and interact with them in real time.