Thanks for sharing your experience. Delta lake only comes with Copy on Write semantics. so, the idea of **using a combination of 2 tables & a view** - to build your own MOR semantics on deltalake sounded cool. Did you folks run into any consistency issues - as DeltaLake doesn't support multi-table transactions (docs.databricks.com/delta/delta-faq.html#does-delta-lake-support-multi-table-transactions) ? Meaning - when you are taking the change set and writing the changes to your baseTable - you will need a transaction b/w the base and changeSet tables... I was hoping if you folks had a general purpose solution - but this seemed to solve some very specific scenario. for ex: I couldn't find info. around - how are events replayed into the base table IN ORDER they arrived. for ex: cases like - if a single row (which can be identified by a unique id) - has been changed 2 times - & in the first change 2 columns were changed and in the 2nd change one of the columns in the previous change and few other columns are changed - how do you guarantee a safe merge. etc.