Gineadóir ULID agus Nano ID
Gin ULIDanna (le rogha mhonatonach) nó Nano IDanna le haibítir agus fad saincheaptha, de réir lucht, díchódaigh stampa ama ULID agus seiceáil riosca imbhuailte.
Dóchúlacht imbhuailte
- Méid na haibítre
- —
- Eantrópacht in aghaidh an aitheantóra
- —
- Aitheantóirí féideartha
- —
- Aitheantóirí le haghaidh seans 1% de dhúbailt
- —
- Am chun an riosca 1% sin a bhaint amach
- —
Díchódaigh ULID
- Stampa ama (UTC, ISO 8601)
- Dáta agus am áitiúil
- Am Unix (ms)
- Cuid randamach (80 giotán, heics)
Conas ULIDanna nó Nano IDanna a ghiniúint
- Faoi Cineál aitheantóra, roghnaigh ULID (in ord) nó Nano ID (gearr).
- Socraigh Cé mhéad (1 go 1,000). Gintear deich n-aitheantóir chomh luath agus a luchtaítear an leathanach.
- I gcás ULIDanna, fág Monatonach (ag méadú go docht) ticeáilte ionas go sórtálfar aitheantóirí a cruthaíodh sa mhilleasoicind chéanna in ord fós, agus cuir tic i Cás íochtair más fearr le do chóras é.
- I gcás Nano IDanna, roghnaigh Aibítir (nó Saincheaptha… agus clóscríobh do charachtair féin) agus Fad.
- Cliceáil Gin, ansin Cóipeáil an liosta nó Íoslódáil é (aitheantóir amháin in aghaidh na líne).
Chun an dáta atá folaithe i ULID a léamh, greamaigh faoi Díchódaigh ULID é nó cliceáil Díchódaigh an chéad aitheantóir. Taispeánann an uirlis an stampa ama in UTC (ISO 8601), i d’am áitiúil, mar mhilleasoicindí Unix, agus an chuid randamach 80-giotán i heics.
Cad é ULID?
Is aitheantóir 128-ghiotán é ULID (Universally Unique Lexicographically Sortable Identifier) a scríobhtar mar 26 charachtar de Crockford Base32, mar shampla 01ARZ3NDEKTSV4RRFFQ69G5FAV. Códaíonn an chéad 10 gcarachtar stampa ama 48-ghiotán i milleasoicindí (go leor go dtí an bhliain 10889); is 80 giotán randamach iad an 16 charachtar deireanacha. Fágann Crockford Base32 I, L, O agus U ar lár chun mearbhall a sheachaint, agus ní dhéanann díchódú idirdhealú idir cásanna.
Mar gheall ar an am a bheith ar dtús, sórtálann ULIDanna go haibítreach in ord cruthaithe. Fágann sé sin go bhfuil siad go maith mar phríomheochracha: cuirtear sraitheanna nua le deireadh innéacs B-tree in ionad a bheith scaipthe cosúil le UUIDanna randamacha, agus is féidir leat sórtáil de réir aitheantóra in ionad colún dáta ar leith.
Mód monatonach. Laistigh de mhilleasoicind amháin, sórtálfadh ULIDanna randamacha in ord randamach. Leis an rogha mhonatonach, leanann an uirlis sonraíocht ULID: nuair a chruthaítear roinnt aitheantóirí sa mhilleasoicind chéanna, coinníonn sí an stampa ama agus cuireann sí 1 leis an gcuid randamach roimhe. Má théann an clog ar gcúl, coinníonn sí an stampa ama deireanach, mar sin ní laghdaíonn an seicheamh riamh.
Cuimhnigh go nochtann ULID cathain a cruthaíodh é. Ná húsáid ceann nuair is íogair an fhaisnéis sin.
Cad é Nano ID?
Is aitheantóir randamach dlúth é Nano ID. Is é an réamhshocrú 21 charachtar ó aibítir 64-charachtar sábháilte do URL (A–Z a–z 0–9 _ -), a thugann 126 giotán randamach, cosúil le UUID v4 (122 ghiotán) i níos lú carachtar. Is féidir leat heicsidheachúlach, digití amháin, cás íochtair agus digití, alfa-uimhriúil, tacar gan carachtair chosúla (gan 0/O, 1/l/I, 5/S…) do chóid a chlóscríobhann daoine, nó d’aibítir féin de 2 go 256 carachtar a roghnú. Baintear carachtair dhúbailte in aibítir shaincheaptha, mar dhéanfadh siad roinnt carachtar níos dóchúla.
Tarraingítear gach carachtar le crypto.getRandomValues le samplú diúltaithe, mar sin níl aon claonadh modulo ann.
Dóchúlacht imbhuailte
Cuireann an painéal Dóchúlacht imbhuailte an teorainn breithlae i bhfeidhm. Le haibítir de mhéid A agus fad L, tá N = A^L aitheantóir féideartha ann. Tar éis k aitheantóir, is é an seans go mbeidh dúbailt amháin ar a laghad thart ar 1 − e^(−k²/2N), mar sin baintear riosca 1% amach tar éis k ≈ √(2N · ln(1/0.99)) aitheantóir. Cuir isteach Aitheantóirí a ghintear in aghaidh na huaire chun a fheiceáil cé chomh fada a thógfadh sé sin. Leis na socruithe réamhshocraithe agus 1,000 aitheantóir san uair, tógann riosca 1% thart ar 149 billiún bliain; le 8 gcarachtar heicsidheachúlacha ní thógann sé ach thart ar 9,300 aitheantóir.
Ceisteanna coitianta
ULID nó UUID?
Tá an bheirt 128 giotán. Tá ULID níos giorra le scríobh (26 carachtar in ionad 36) agus sórtálann sé de réir ama. Tairgeann UUID leagan 7 anois an t-ordú ama céanna i bhformáid chaighdeánach UUID, a stórálann bunachair sonraí go dúchasach go minic. Roghnaigh UUID v7 má thacaíonn do stac leis, ULID más mian leat teaghrán dlúth inléite.
An bhfuil ULIDanna agus Nano IDanna sách slán do chomharthaí?
Tá 126 giotán randamach ó ghineadóir cripteagrafach ag Nano IDanna leis an aibítir agus an fad réamhshocraithe, rud atá sách do naisc nach féidir a thuairim. Níl ach 80 giotán randamach ag ULIDanna, agus sa mhód monatonach tá aitheantóirí comhleanúnacha difriúil faoi aon cheann, mar sin ná húsáid ULIDanna mar rúin.
An féidir liom Nano ID a ghiorrú?
Is féidir, ach fásann an riosca imbhuailte go han-tapa. Seiceáil an luach Aitheantóirí le haghaidh seans 1% de dhúbailt do d’fhad agus d’aibítir sula mbraitheann tú ar aitheantóir gearr.
Cén fáth a ndiúltaíonn an díchódóir do mo ULID?
Ní mór 26 charachtar go díreach a bheith i ULID, carachtair Crockford Base32 amháin a úsáid, agus tosú le 0 go 7 (rachadh carachtar tosaigh níos mó thar 128 giotán).
An stóráiltear nó an seoltar na haitheantóirí áit ar bith?
Ní dhéantar. Gintear iad i do bhrabhsálaí agus imíonn siad nuair a fhágann tú an leathanach.
Uirlisí gaolmhara
- Gineadóir UUID Gineadóir UUID saor in aisce do UUIDanna leagan 4 agus 7. Cruthaigh suas le 1,000 ag an am, i gcás uachtair nó gan fleiscíní, ansin cóipeáil nó íoslódáil.
- Gineadóir Focal Faire Gineadóir focal faire saor in aisce le focail fhaire randamacha láidre de 4 go 128 carachtar i do bhrabhsálaí. Ní stóráiltear ná ní sheoltar aon rud.
- Tiontaire Stampa Ama Unix Tiontaigh stampaí ama Unix i soicindí nó milleasoicindí go dátaí inléite in am áitiúil, UTC agus ISO 8601, agus iompaigh aon dáta ar ais ina am epoch.