Saving Dictionaries With DataStore2

There’s something with my datastore that’s been bothering me. The player’s inventory is a folder with sub-folders full of values that describe the item in the player’s inventory, such as name, quantity, etc. When the player’s inventory updates, it is converted into a dictionary that is then saved to DataStore2. When the player loads, the dictionary is converted to a folder with all its sub-folders and loaded onto the player.

Is this system efficient? I am worried about the player losing data due to this, especially because DataStore2 typically updates value when the data changes, rather than updating data when the value changes.

Is saving data for other values with a similar system to this also efficient? (update data when value changes)