Can you please elaborate how it is different from in-memory table, because dataframe lives in-memory as long as the program is running right?