AW: Re: UUID vs. Sequential ID as Primary

  • From: ahmed.fikri@xxxxxxxxxxx
  • To: peter.m.gram@xxxxxxxxx
  • Date: Thu, 11 Apr 2024 16:35:17 +0200 (CEST)

 Thanks for the hint, you’re right, one can use that. The problem is that 
when working with hibernate (or any other client lib) one doesn’t want to 
go to the database to fetch the IDs when creating an entry on the client 
side. While one does want to create the ID uniquely, it should be done with 
minimum visiting the database (using sequences has now been optimally 
solved e.g. hilo algorithm, not just for Oracle, but almost all other 
databases).

I’m interested in our experts have to say about this: is the trend of using 
UUID legitimate, or is using numbers better?

Gesendet mit der Telekom Mail App
<http://www.t-online.de/service/redir/emailmobilapp_ios_smartphone_footerlink.htm>

-----Original-Nachricht-----
Von: Peter Gram <peter.m.gram@xxxxxxxxx <mailto:peter.m.gram@xxxxxxxxx> >
Betreff: Re: UUID vs. Sequential ID as Primary
Datum: 11.04.2024, 16:10 Uhr
An: <ahmed.fikri@xxxxxxxxxxx <mailto:ahmed.fikri@xxxxxxxxxxx> >
CC: list, oracle <oracle-l@xxxxxxxxxxxxx <mailto:oracle-l@xxxxxxxxxxxxx> >

Hi 

If you use the returning clause on the first statement you don’t get a 
extra round trip to the database to get the sequence.

Med venlig hilsen

Peter Gram
Sæbyholmsvej 18 
2500 Valby

Mobile: (+45) 5374 7107
Email: peter.m.gram@xxxxxxxxx <mailto:peter.m.gram@xxxxxxxxx>



On Wed, 10 Apr 2024 at 23.38, ahmed.fikri@xxxxxxxxxxx
<mailto:ahmed.fikri@xxxxxxxxxxx> < ahmed.fikri@xxxxxxxxxxx
<mailto:ahmed.fikri@xxxxxxxxxxx> > wrote:
  Hi there,
   
  Once more, a question about fundamentals:
   
  In several Hibernate projects, I've observed developers leaning towards
  using UUIDs as primary keys instead of numerical values. This preference
  likely stems from the avoidance of sequences for numerical primary keys,
  which necessitate round trips to the database after each insertion.
  Additionally, there's a concern about potential contention with
  sequences, and some developers may prefer to avoid predictability in the
  next generated value. Personally, I remain skeptical about the widespread
  use of UUIDs due to their larger storage footprint (both in tables and
  indexes) compared to numerical IDs. Numeric IDs also offer benefits in
  issue analysis. However, it's worth noting that Hibernate employs
  algorithms to minimize round trips to the database, effectively reducing
  their impact. Could you please share your experience and preference? What
  choice would you make?
   
  Regards
  Ahmed
  

Other related posts: