UUID v4 vs v7: cén t-aitheantóir uathúil ba cheart a roghnú?

Is aitheantóir 128 giotán uathúil é UUID gan chomhordú lárnach. Tá leagan 4, atá go hiomlán randamach, i gceannas le blianta. Leagan 7, atá níos déanaí (RFC 9562, 2024), cuimsíonn sé stampa ama ag tús chun aitheantóirí ordaithe in am a tháirgeadh. Athraíonn an difríocht seo, neamhdhíobhálach ar an dromchla, an fheidhmíocht sa bhunachar sonraí go radacach. Seo cén ceann le roghnú.

Cad is UUID ann?

Is uimhir 128 giotán é UUID (Universally Unique Identifier) arna léiriú ag 32 carachtar heicsidheachúlach grúpáilte i gcúig bhloc, mar shampla 550e8400-e29b-41d4-a716-446655440000. Is é a chúis a bheith ann: aitheantóir uathúil a ghiniúint gan údarás lárnach a iarraidh, rud a fhágann go bhfuil sé idéalach do chórais dáilte. Is féidir leat cinn a ghiniúint lenár gineadóir UUID.

Tá roinnt leaganacha ann; is iad na cinn is ábhartha inniu d'eochracha taifid an v4 (randamach) agus an v7 (ordaithe in am).

UUID v4 (randamach)

Tá UUID v4 comhdhéanta de 122 giotán randamach (ionchódaíonn an chuid eile an leagan agus an leagan). Tá an dóchúlacht imbhuailte chomh híseal sin go bhfuil sé neamhbhríoch sa chleachtas. Is é an leagan réamhshocraithe é sa chuid is mó de na teangacha agus leabharlanna.

  • Dothuartha: foirfe do chomharthaí nó aitheantóirí poiblí nach mian linn a bheith intuartha
  • Gan aon sceitheadh faisnéise: ní nochtann sé dáta ná ord cruthaithe
  • Míbhuntáiste: go hiomlán neamhordaithe, rud a dhéanann dochar do na hinnéacsanna bunachair

UUID v7 (ordaithe in am)

Cuireann UUID v7 stampa ama Unix i milleasoicindí ar a chéad 48 giotán, agus giotáin randamacha ina dhiaidh. Sórtáiltear dhá UUID v7 a ghintear ag chuimhneacháin éagsúla mar sin in ord a gcruthaithe, agus iad fós uathúil agus geall le dodhéanta le tomhas.

  • Insórtáilte: comhfhreagraíonn an t-ord foclóireachta don ord croineolaíoch
  • Cairdiúil do na hinnéacsanna: déantar na hionsáite ag deireadh an innéacs, cosúil le huath-incrimint
  • Mar chúiteamh: nochtann sé an chuimhneachán cruthaithe, rud a d'fhéadfadh a bheith neamh-inmhianaithe d'aitheantóir poiblí

Tábla comparáide

Critéar UUID v4 UUID v7
Comhdhéanamh122 giotán randamachStampa ama + randamach
Ordaithe in amNíl
InsórtáilteNílTá (croineolaíoch)
Feidhmíocht innéacsÍseal (ilroinnt)Ard (ionsáite seicheamhacha)
DothuarthachtIomlánArd ach nochtann an chuimhneachán
Sceitheadh faisnéiseCeann ar bithDáta cruthaithe
Aibíocht / tacaíochtUilíochLe déanaí (RFC 9562, 2024)

Tionchar ar na bunachair shonraí

Seo croílár an ábhair. Stórálann na bunachair choibhneasta a n-innéacsanna i gcrainn B (B-tree). Scaipeann ionsáite eochracha randamacha (v4) na scríbhinní i ngach áit san innéacs, rud a chruthaíonn ilroinnt, pléascadh leathanach agus taisce nach bhfuil chomh héifeachtach. Ar líonta móra, díghrádaíonn feidhmíocht na n-ionsáite go suntasach.

Ionsáitear na heochracha ordaithe (v7) i gcónaí ag deireadh an innéacs, cosúil le haitheantóir uath-incrimintithe. Faightear ionsáite tapa, áitiúlacht níos fearr agus innéacs níos dlúithe. Tá sé sin an-soiléir le heochair phríomha in InnoDB (MySQL), áit a gcinneann an eochair phríomha ord fisiciúil na sraitheanna.

Cathain ceann amháin nó an ceann eile a roghnú

Roghnaigh UUID v4 nuair

  • A nochtar an t-aitheantóir go poiblí agus nach mór dó aon rud a nochtadh
  • A ghineann tú comharthaí, naisc roinnte, rúin
  • Nach mór an t-ord agus an dáta cruthaithe a bheith intuartha
  • A theastaíonn comhoiriúnacht uasta leis an méid atá ann uait

Roghnaigh UUID v7 nuair

  • A fheidhmíonn an UUID mar eochair phríomha i mbunachar sonraí
  • A bhíonn an méid ionsáite ard agus a bhíonn feidhmíocht an innéacs tábhachtach
  • A theastaíonn uait sórtáil de réir ord cruthaithe gan cholún tiomnaithe
  • Nach fadhb é an chuimhneachán cruthaithe a nochtadh

Moladh

D'eochair phríomha bunachair sonraí, roghnaigh anois UUID v7: coinníonn tú uathúlacht dháilte an UUID agus seachnaíonn tú pionós innéacs na v4. Coinnigh UUID v4 do na haitheantóirí poiblí, comharthaí agus rúin, áit a bhfuil tosaíocht ag an dothuarthacht iomlán agus ag an easpa sceite ama.

Seiceáil mar sin féin tacaíocht na v7 i do theanga agus i d'ORM: tá an RFC le déanaí, ach tá an glacadh ag dul chun cinn go tapa.

Ceisteanna coitianta

An bhfuil UUID v7 níos lú sláine ná v4?

Tá sé fós an-deacair le tomhas a bhuíochas dá ghiotáin randamacha, ach nochtann sé an chuimhneachán cruthaithe trína stampa ama. D'aitheantóir poiblí nach mór don dáta sceitheadh, nó do rún, roghnaigh an v4.

Cén fáth a moillíonn UUID v4 na bunachair shonraí?

Toisc go scaipeann a luachanna randamacha na hionsáite ar fud an innéacs B-tree, rud a dhéanann ilroinnt ar na leathanaigh agus a laghdaíonn éifeachtacht na taisce. Ionsáann an v7, atá ordaithe, ag deireadh an innéacs agus seachnaíonn sí an fhadhb seo.

An féidir liom aistriú ó v4 go v7?

Is féidir do na taifid nua: bíonn an dá fhormáid in éineacht sa cholún UUID céanna. Ní gá an stair a athscríobh; aistrigh giniúint na n-eochracha nua go dtí an v7 go simplí.

Cad faoi na leaganacha v1 agus v6?

Ionchódaíonn an v1 an stampa ama agus an seoladh MAC, rud a chruthaíonn fadhbanna príobháideachais. Athordaíonn an v6 an v1 chun é a dhéanamh insórtáilte. Do thionscadal nua, is í an v7 an leagan ordaithe a mholann an RFC 9562.