In a scenario where you need to explore and tune state information using stream-static joins and Delta Lake, describe the steps you would take to optimize the state store. Include considerations for state retention, checkpointing, and the use of mapGroupsWithState
.