Ko satur UUID v7
UUID v7, kas standartizēts RFC 9562, sākas ar 48 bitu Unix laikspiedolu milisekundēs, kam seko 12 biti papildu precizitātes vai nejaušības un tad 62 bitu nejauša astes daļa. Versijas nibble (13. pozīcija) vienmēr ir 7, bet varianta nibble (17. pozīcija) ir 8, 9, a vai b. Tā kā laikspiedols ir priekšā, vēlāk ģenerētie ID kā vienkāršs teksts vienmēr kārtojas aiz agrākajiem — datubāzes secība nav vajadzīga.
Piemērs: 018f3d9c-7b21-7a4e-9c30-6d5f1e2a8b44. Sākums 018f3d9c7b21 ir pašreizējais laiks milisekundēs, cipars 7 apzīmē 7. versiju, cipars 9 apzīmē variantu, bet astes daļa ir nejauša. Secīgi UUID v7 ir monotoniski vienas milisekundes ietvaros, jo neizšķirtu risina nejaušs skaitītājs, tāpēc tie tīri pievienojas B-koka indeksa beigām, nevis izkliedējas pa to. Dod priekšroku v7 primārajām atslēgām un notikumu žurnāliem; izvēlies nejaušu v4, ja ID nedrīkst atklāt izveides laiku.
Kā ģenerēt UUID v7
- Nospied „Ģenerēt“, lai izveidotu laikā sakārtotu UUID v7.
- Izveido vairākus pēc kārtas — tie kārtosies izveides secībā.
- Nokopē tos kā kārtojamas primārās atslēgas vai žurnāla ID.
- Vajag necaurredzamus ID bez secības? Atver UUID v4 lapu.
UUID v7 — biežāk uzdotie jautājumi
Vai UUID v7 vērtības ir kārtojamas?
Jā. Pirmie 48 biti ir laikspiedols milisekundēs, tāpēc leksikogrāfiskā secība sakrīt ar izveides secību; nejauša astes daļa neļauj vienlaicīgām vērtībām sakrist.
Vai UUID v7 atklāj izveides laiku?
Jā, tas parāda izveides laiku ar milisekundes precizitāti. Žurnāliem un datubāzes atslēgām tas parasti ir pieņemami, bet, ja laikspiedols ir sensitīvs, izmanto v4.
Vai datubāzes atslēgai izvēlēties v4 vai v7?
v7: tā sakārtotais prefikss notur ievietošanu indeksa beigās un novērš lappušu sadalīšanos, ko izraisa nejaušas v4 vērtības. Izvēlies v4, ja vajag pilnīgi necaurredzamus ID.
Darbojas pilnībā pārlūkā: laikspiedols un nejaušie biti nāk no tavas ierīces pulksteņa un crypto.getRandomValues(), nevis no servera.
