Lazy Evaluation, Reactive UI
In SQL Frames a DataFrame is built with a series of data transformations and each intermediate step creates a corresponding DataFrame. While only the final DataFrame is chosen to be displayed, all the intermediate DataFrames are available so it is possible to understand the data transformation logic being composed and troubleshoot with confidence.
With all the intemediate DataFrames created through out the data transformation pipeline, there can be many more DataFrames than visible. However, they are architected in such a way that they share the data among themselves where possible ensuring a low memory usage.
DataFrames are not evaluated unless required. The evaluation is triggered either
when trying to display the DataFrame or by calling certain API such as
getData on the DataFrame that triggers the computation.
Any changes to the DataFrames along the data pipeline of a visible DataFrame automatically trigger recomputation of the changed parts of the data pipeline and update the displayed DataFrame(s). No manual coordination is required from the user.