Are MD5 hashes a good default for surrogate keys?

In the extra-load-transform (ELT) paradigm of data engineering, a popular method to generate surrogate keys in the transformation step is to compute a MD5 hash of uniquely identifying columns and store it as a string. This is the approach of dbt&rsquo;s built-in generate_surrogate_key macro. The arguments for using a hash instead of an incrementing integer sequence are well worn. Hash keys are…