On Thu, Apr 1, 2021 at 10:26 PM Rob Sargent <robjsargent@xxxxxxxxx> wrote: > > On 4/1/21 8:28 PM, Merlin Moncure wrote: > > > > This is one of the great debates in computer science and it is not > > settled. There are various tradeoffs around using a composite key > > derived from the data (aka natural key) vs generated identifiers. It's > > a complex topic with many facets: performance, organization, > > validation, and correctness are all relevant considerations. I would > > never use UUIDS for keys though. > > > > merlin > > > > > And, pray tell, for what exactly would you use universally unique > identifiers. I don't disagree that UUID are an ok choice in that scenario. I'll tell you what though, that scenario comes up fairly rarely. However, there are a couple of alternatives if you're curious. *) Generate ids from a generator service. This pattern is fairly common. It has some downsides (slower, more complicated inserts mainly) but works well in other ways. You can mitigate the performance downsides by allocated identifiers in blocks. *) Use sequences, but with a sequence id added as a composite or maksed into the integer. This works pretty well in practice. merlin