Syncing registries from different sources (such as the lightweight registry from workflows) will be simplified significantly if we switch from autoincrementing integers to UUIDs for our datasets.
Some things to consider:
- Where are UUIDs calculated? By Registry?
- Should we allow UUIDs to be calculated from a datasetRef (dataset type / dataId and run name). This could be an alternative implementation of
DM-21794, allowing raw data to have predictable IDs.
- Should we allow an external source for UUID?
- Is there a case for datastore to allocate IDs itself which can then be used by registry?