On demand refresh for near-realtime use cases #2380
Replies: 4 comments
-
@aaronsteers thanks for opening, always appreciate your input 🙏🏼 A couple of bits of context for anyone who is not intimately familiar with how Evidence works. How Evidence currently worksEvidence has two "modes"
Unlike a lot of tools, these modes operate differently with respect to connecting to data Development
Production
It is typical to set up a build schedule to maintain a specific level of data freshness Tradeoffs with the current appraochPros
Cons
|
Beta Was this translation helpful? Give feedback.
-
Thanks, @archiewood! Yeah, great context - thank you. 🙏 I especially like this part, and would like to keep it for production applications:
Given that, I think any kind of on-demand refresh or near-realtime features should ideally fail back safely to the last-valid dataset. And very handy for transparency if something like a warning icon with tooltip message (or similar) could appear if any post-build refresh attempts have failed, such as an on-demand refresh request. |
Beta Was this translation helpful? Give feedback.
-
@aaronsteers something like this is becoming feasible as we make progress on #768 and #973. It'll be down the road though. You can play with a prototype version here: The above supports multiple simultaneous data sources, which can be updated outside of the process of building the front-end, which does open up a whole new set of possibilities, including near realtime, different schedules for different sources, incremental source refreshes, and snapshotting source data. When we bring this to main, the initial versions of the new build/ refresh data will just be for dev mode, but you can track progress on that here: #988 |
Beta Was this translation helpful? Give feedback.
-
@mcrascal Any updates for this scenario now that Universal SQL is launched? Can dynamically updating Parquet files (or directory) be reflected in charts without any manual steps to update? |
Beta Was this translation helpful? Give feedback.
-
Feature Description
A "refresh" button in the Web UI, which would queue up an on-demand refresh.
Goal of Feature
This could help with use cases that require near-realtime data, by allowing Evidence to get the latest data without having a window into the backend via SSH, and without acruing query costs of refreshing a full set of data every
n
minutes.This might be used in combination with a daily refresh or n-times daily.
Variations / Implementation options
Where the button might be:
What the button might do:
Atomic or global:
This on-demand refresh could leave other pages/visuals alone, versus also auto-updating other pages or other visuals on the current page, versus refreshing the site anywhere that dataset is rendered.
Bonus:
For transparency reasons, it becomes even more helpful to have a place on the page that renders "last updated on..." per dataset, and/or for the page overall. (Harder to do if not all visuals on the page have the same refresh time.)
Current Solution
Today I think the best solution is to refresh every
n
minutes.Alternative Ideas
Alternatives include:
n
minutes on a schedule. (Noted above.)n
minutes, but is more complex overall, and may be better implemented on top of on-demand refreshes, as a future iteration.Examples / Screenshots
Not the same, because this is the Admin view, but Power BI has a feature like this in their web UI:
Show/Hide
Are you interested in contributing this feature?
In theory 'yes', but I don't have capacity as of now, and I am not yet well-versed enough on the underlying codebase to do so efficiently.
Related
Beta Was this translation helpful? Give feedback.
All reactions