AI agus Bunachair Sonraí MySQL

AI agus Bunachair Sonraí MySQL...

16 May 2025

5

nóiméad léamh

Nuálaíocht AI

Adrian Sweeney

Is botún suntasach é go bhfuil go leor scéimeanna bunachar sonraí AI-ghinte faoi láthair ag fabhrú úsáid VARCHAR(36) don cholún id.

Bíonn sé seo spreagtha de ghnáth ag fonn rochtain neamhúdaraithe a chosc ó ghnímhaithe mailíseacha. Chun seo a bhaint amach, úsáidtear UUID (Aitheantóirí Uathúla Uilíocha) go minic mar bheart slándála.

Glacaimis WordPress mar shampla — nochtann sé go hiondúil IDanna poist san URL mar ?p=45. I gcomparáid le formáid SEO-chairdiúil mar /2025/05/sample-post, ceadaíonn an ID uimhriúil seo d'úsáideoirí b'fhéidir ábhar in aice láimhe a thomhas agus rochtain a fháil air trí an uimhir a athrú (m.sh. ?p=44). Tá UUID ar an taobh eile nach bhfuil seicheamhach agus tá sé i bhfad níos deacra a thomhas.

Is teaghráin 36 carachtar iad UUID a leanann formáid chaighdeánach le cúig rannóg scartha ag dashes: 8-4-4-4-12. Tá gach rannóg comhdhéanta de luachanna heicsideiceamacha:

550e8400-e29b-41d4-a716-446655440000
f47ac10b-58cc-4372-a567-0e02b2c3d479
123e4567-e89b-12d3-a456-426614174000

Breathnaíonn regex simplí chun UUID a bhailíochtú mar seo:

^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$

Cé go dtairgeann UUID slándáil agus iniompartha, tagann siad le comhréiteach. Tá siad i bhfad níos mó ná slánuimhreacha, rud a d'fhéadfadh feidhmíocht an bhunachair sonraí a mhoilliú — go háirithe nuair a úsáidtear iad mar phríomheochracha i mbunachair sonraí coibhneasta. Fulangann innéacsú, úsáid cuimhne agus luas ceiste go léir mar gheall ar mhéid agus nádúr neamh-sheicheamhach UUID.

Comhrá AI faoi straitéis ID

Fiosrach faoin rogha dearaidh seo, chuir mé an cheist seo a leanas ar GitHub Copilot:

Mise:
Cén fáth ar roghnaigh tú an cholún id a shainiú mar VARCHAR(36) PRIMARY KEY sa struchtúr bunachar sonraí?

GitHub Copilot:

Roghnaigh mé VARCHAR(36) do cholúin ID ar roinnt cúiseanna sonracha:

  1. Stóráil UUID: Déanann an fad 36 carachtar freastal ar luachanna UUID, a leanann formáid chaighdeánaithe.
  2. Córais Iltionónta: Cuidíonn UUID le tionóntaí a leithlisiú trí sceitheadh ID seicheamhach a dhíothú, aistrithe a shimpliú agus slándáil a fheabhsú.
  3. Iniompartha Sonraí: Cinntíonn UUID nach bhfuil imbhuailtí ID ag sonraí onnmhairithe nuair a iompórtáiltear iad go córas eile.

Comhréiteach:

  • Méid stórála níos mó (36 beart i gcoinne 4 beart do INT)
  • Feidhmíocht innéacsúcháin agus ceiste níos moille
  • Úsáid cuimhne níos airde

Roghanna le breithniú:

  1. AUTO_INCREMENT INT/BIGINT
  2. BINARY(16) chun bearta UUID amh a stóráil níos éifeachtaí
  3. Straitéis giniúna ID saincheaptha

Lig dom a fhios má thaitníonn cur chuige difriúil leat.

Mise:
Úsáid BIGINT UNSIGNED d'fheidhmíocht, ach coinnigh réimse guid i ngach taifead do thagairtí seachtracha.

GitHub Copilot:

Nuashonrófaidh mé an scéim chun BIGINT UNSIGNED a úsáid mar phríomheocha agus colún guid a chur leis do thagairtí seachtracha. Comhdhaíonn an cur chuige cóimheasctha seo an chuid is fearr den dá straitéis:

  • Feidhmíocht: Innéacsú éifeachtach agus comhcheangail trí phríomheochracha uimhriúla
  • Slándáil agus Iniompartha: GUID nochta in APIanna, ag coinneáil ID inmheánacha slán ó áireamh

Achoimre:

  • BIGINT UNSIGNED: Tapa, dlúth, seicheamhach
  • GUID (VARCHAR): Uathúil, iniomparthach, slán go seachtrach

Bunachair Sonraí NoSQL agus MongoDB ObjectIds

Cé go dtairgeann bunachair sonraí coibhneasta solúbthacht sa rogha idir UUID, slánuimhreacha nó hibrideach, glacann córais NoSQL cosúil le MongoDB cosán difriúil.

Úsáideann MongoDB cineál ionsuite ar a dtugtar ObjectId dá réimse _id. Is luach dénártha 12-beart é seo a ionchódaíonn:

  • 4 beart – Stampa ama (soicindí ón ré)
  • 5 beart – Luach randamach (bunaithe ar mheaisín + ID próisis go minic)
  • 3 beart – Comhaireamh incriminteach

Sampla:

507f1f77bcf86cd799439011

Cén fáth a roghnaíonn MongoDB ObjectId

  1. Uathúil go domhanda gan comhordú
    Cosúil le UUID, ní éilíonn ObjectIds údarás lárnach chun uathúlacht a chinntiú, rud a fhágann go bhfuil siad idéalach do thimpeallachtaí dáilithe.
  2. Ordaithe go hama
    Ciallaíonn an stampa ama ionsuite go bhfuil cáipéisí in ord croineolaíoch de réir réamhshocraithe, rud a d'fhéadfadh cabhrú le feidhmíocht in iarratais sraith ama.
  3. Dlúth agus éifeachtach
    Stóráilte i bhformáid dénártha, ní ghlacann ObjectIds ach 12 beart — i bhfad níos lú ná UUID VARCHAR(36). Tá siad níos cairdiúla d'innéacsú freisin.

Comparáid straitéisí ID

GnéUUID (VARCHAR)BIGINT + GUID HibrideachMongoDB ObjectId
Méid stórála36 beart8 + 36 beart12 beart
Feidhmíocht innéacsaitheDonaAr fheabhasAr fheabhas
Ord seicheamhach / amaNílTá (BIGINT amháin)Tá (trí stampa ama)
Formáid inléiteTá (GUID)Níl (bunaithe ar hex)
IntuisceanaNílNíl (GUID amháin)Níl
Forfheidhmiú scéimeDochtDochtSolúbtha

Roghanna AI i gcomhthéacsanna NoSQL

Úsáideann go leor córas AI-ghinte cumraíochtaí NoSQL cosúil le MongoDB de réir réamhshocraithe nuair:

  • Táthar ag súil le tréscríobh ard nó sharding
  • Caithfidh scéimeanna a bheith solúbtha nó leath-struchtúrtha
  • Is tosaíochtaí iad iniompartha sonraí agus scálú dáilithe

I gcásanna mar sin, is rogha chiallmhar réamhshocraithe minic é ObjectIds nó aitheantóirí uathúla cosúla, inordaithe in am a úsáid.

PrimeCRM

Ar ais go dtí an tIonad Eolais