Mikä on UUID v7?

UUID v7 on uusin versio universaaleista yksilöllisistä tunnisteista, joka on määritelty RFC 9562 -standardissa. Toisin kuin vanhemmat versiot, kuten UUID v4 (täysin satunnainen) tai UUID v1 (käyttää MAC-osoitetta), UUID v7 sisällyttää 48-bittisen Unix Epoch -aikaleiman millisekunteina suoraan tunnisteeseen. Tämä tekee UUID v7 -arvoista luonnostaan aikajärjestykseen lajiteltavia — merkittävä etu tietokantaindeksoinnissa, hajautetuissa järjestelmissä ja tapahtumalokituksessa, joissa kronologinen järjestys on tärkeää.

Koska UUID v7 ei sisällytä MAC-osoitteita, se välttää UUID v1:een liittyvät tietosuojaongelmat. Aikaleiman ja versio-/varianttikenttien jälkeen jäljelle jäävät bitit täytetään satunnaisella tai monotonisella datalla, mikä varmistaa yksilöllisyyden myös silloin, kun useita UUID-arvoja luodaan saman millisekunnin aikana.

UUID v7:n rakenne

UUID v7 koostuu 128 bitistä, jotka on järjestetty seuraavasti:

  • Bitit 0–47: 48-bittinen big-endian-muotoinen etumerkitön Unix Epoch -aikaleima millisekunteina
  • Bitit 48–51: 4-bittinen versiokenttä, asetettu arvoon 0111 (7)
  • Bitit 52–63: 12 bittiä satunnaista tai monotonista dataa millisekunnin alapuolista tarkkuutta tai yksilöllisyyttä varten
  • Bitit 64–65: 2-bittinen varianttikenttä, asetettu arvoon 10 (RFC 9562)
  • Bitit 66–127: 62 bittiä satunnaista tai monotonista dataa lisäyksilöllisyyttä varten

Tämä rakenne tarkoittaa, että myöhemmin luodut UUID-arvot lajitellaan aina aiemmin luotujen jälkeen millisekuntitasolla, mikä tekee niistä ihanteellisia perusavaimia B-puu-indeksoiduissa tietokannoissa.

Työkalun kuvaus

Tämä UUID v7 -generaattori luo RFC 9562 -yhteensopivia versio 7 UUID-arvoja visuaalisella esityksellä sisällytetystä aikaleimarakenteesta. Luo yksi tai jopa 100 UUID-arvoa kerralla, vaihda isojen ja pienten kirjainten välillä, ja valitse, sisällytetäänkö väliviivat. Työkalu myös poimii ja näyttää ensimmäisen luodun UUID-arvon sisältämän Unix Epoch -aikaleiman, jolloin voit tarkistaa jokaiseen tunnisteeseen koodatun luontiajan.

Esimerkit

Muoto Esimerkkituloste
Vakio 019544a2-3b4c-7d8e-9f01-2a3b4c5d6e7f
Isot kirjaimet 019544A2-3B4C-7D8E-9F01-2A3B4C5D6E7F
Ilman väliviivoja 019544a23b4c7d8e9f012a3b4c5d6e7f

Ominaisuudet

  • Massaluonti: Luo 1–100 UUID v7 -arvoa kerralla määräliukusäätimellä
  • Kirjainkoko-vaihto: Vaihda pienten ja isojen kirjainten välillä tulosteessa
  • Väliviiva-vaihto: Lisää tai poista väliviivat kompakteja muotoja varten
  • Aikaleiman poiminta: Näyttää automaattisesti luodun UUID-arvon sisältämän Unix Epoch -aikaleiman
  • Latausmahdollisuus: Vie luodut UUID-arvot tekstitiedostona eräkäyttöä varten

Käyttötapaukset

  • Luo aikajärjestykseen lajiteltavia perusavaimia suurille tietokannoille, joissa lisäyssuorituskyky ja paikallisuus ovat tärkeitä
  • Luo monotonisesti kasvavia tunnisteita hajautetuille tapahtumavirtausjärjestelmille, kuten Kafka tai Pulsar
  • Korvaa UUID v4 sovelluksissa, jotka tarvitsevat kronologisen järjestyksen ilman erillistä aikaleimasaraketta

UUID v7 vs. muut versiot

Versio Aikapohjainen Lajiteltava Tietosuojaturvallinen Satunnaisuus
v1 Kyllä Ei Ei (käyttää MAC:ia) Matala
v4 Ei Ei Kyllä Korkea
v6 Kyllä Kyllä Ei (käyttää MAC:ia) Matala
v7 Kyllä Kyllä Kyllä Keskitaso

UUID v7 yhdistää parhaat ominaisuudet: aikapohjainen lajiteltavuus ilman laitteistotunnisteiden paljastamista, riittävällä satunnaisuudella törmäysten estämiseksi hajautetuissa solmuissa.

Asetukset selitettynä

  • Määrä (1–100): Kuinka monta UUID v7 -arvoa luodaan yhdessä erässä. Kaikki erän UUID-arvot jakavat saman likimääräisen aikaleiman, mutta eroavat satunnaisbiteissään.
  • Isot kirjaimet: Kun käytössä, tuottaa UUID-arvot isoilla hex-merkeillä (A–F pienten a–f sijaan).
  • Väliviivat: Kun käytössä (oletus), UUID-arvot sisältävät vakiomuotoisen 8-4-4-4-12-väliviivaryhmittelyn. Poista käytöstä kompaktia 32-merkkistä hex-merkkijonoa varten.

UKK

Voivatko UUID v7 -arvot törmätä? Törmäykset ovat erittäin epätodennäköisiä. Jopa saman millisekunnin sisällä 74 bittiä satunnaista/monotonista dataa tarjoaa yli 18 kvintiljoonaa mahdollista yhdistelmää. uuid-kirjasto käyttää myös monotonisia laskureita takaamaan yksilöllisyyden prosessin sisällä.

Onko UUID v7 taaksepäin yhteensopiva UUID v4:n kanssa? Kyllä. UUID v7 noudattaa samaa 128-bittistä 8-4-4-4-12-muotoa ja on kelvollinen kaikkialla, missä UUID-arvoja hyväksytään. Olemassa olevat UUID-sarakkeet, jäsentimet ja validaattorit toimivat ilman muutoksia.

Milloin kannattaa käyttää UUID v7:ää UUID v4:n sijaan? Käytä UUID v7:ää, kun käyttötapauksesi hyötyy aikajärjestykseen lajitelluista avaimista — esimerkiksi tietokannan perusavaimina, joissa B-puu-indeksin suorituskyky paranee peräkkäisten lisäysten myötä. Käytä UUID v4:ää, kun järjestyksellä ei ole merkitystä ja haluat maksimaalisen satunnaisuuden.