On the Documentation for Delta Transaction Protocol (https://github.com/delta-io/delta/blob/master/PROTOCOL.md#column-mapping), the column mapping section states as follows:
"There are two modes of column mapping, by name and by id. In both modes, every column - nested or leaf - is assigned a unique physical name, and a unique 32-bit integer as an id."
Why is it necessary to set up both the physical name and the integer id? If I'm using "name" mode, shouldn't unique physical names be enough to identify fields? Is because of any other feature or optimization?