Jump to content
php.lv forumi

MySQL - unique ID


Java

Recommended Posts

Savā programmēšanas karjerā man ne reizi nav bija jāreizējas par tādām problēmām, kuras te uzskaiti. Visi lieto primārās atslēgas kā autoincrement intu un nevienam nav bijusi problēma.

Protams, var vienmēr izdomāt kādu papildus situāciju (arī taviem GUID'iem) - a ja nu man vajadzēs šitā un tā, a bet ja nu vēl savādāk.. Tikai lieki sarežģī visu sistēmu. Man, piemēram, darbā neviens nemaksā, lai, taisot C++'ā klases (lasi PHP klases, ja tu ar to strādā), es tās paredzētu visām dzīves situācijām. Klase taču būs nelietojama, smaga un lēna. Daudz efektīvāk ir lietot pareizos rīkus pareizām situācijām. Ja vajag primāro atslēgu - lūdzu, db to piedāvā. Patiesi neapskaužu tos, kuriem db būs jādevelopē kopā ar tevi :)

Un ar savām milisekundēm tu vēl vairāk mani pārliecini, ka nezini par ko runā. UUID'ā laiks jau ir iekodēts, parasti ar 100-nanosekunžu precizitāti.

 

Gribi patiešām unikālu numuru uz pasaules? Lūdzu paņem te: http://wunumber.org/getwun.cgi

Link to comment
Share on other sites

  • Replies 45
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Sarežģītu datubāžu migrācijā, kad tev piemēram, ir jālabo cita pieļauta kļūdas - vis kas var gadīties ;)

Nu teiksim tā - man ir nācies piedalīties vairāku db migrācijā. Vismaz uz Latvijas fona, tās noteikti nebija tās pašas vienkāršākās. Nevienu brīdi nebija nekādu problēmu. Jo es zināju, no kuras tabulas nāk ieraksts un kāds tam ir id/vai kāds cits unikāls identifikators. Jā tur bija čupa ar citām problēmām, bet tām nebija nekāda sakara ar identifikatoriem. Ja kādam ir vēlme var iemest aci manā angliskajā saitā par izmantoto mehānismu.

 

No otras puses, ja Tu dabū kaut kādu idu un nezini, kas tas ir, tad tur manuprāt ir tieši 2 varianti:

1) kodā/prasībās kaut kas ir salaists galīgā pakaļā

2) sekojot no 1), varbūt arī labāk nemaz nezināt no kurienes tas id ir, jo varbūt tas ir iegūts to nozogot :)

 

Tas izklausās ticami kaut kādā datu atjaunošanas scenārijā, kad uz diska ir nolasāmi kaut kādi fragmentāri ierakstu gabaliņi un tad no tiem kasa ārā derīgos savstarpēji saistītos datus. Tikai tādā gadījumā tur navajag GUIDus, tur vajag normālus backup/restore mehānismus un rīkus, kas katrai DBVS ir savi un iespējams atkarīgi arī no OSa. Un, ja visi striķi trūkst un jālasa no kaut kādiem pussačikarētiem failiem, tur vismaz Oraclei ir speciāli (dārgi) rīki, kas zin datubāzes bloku iekšējos formātus un lasa datus pa taisno no failiem, par citām DBVS nezinu.

 

Gints Plivna

http://datubazes.wordpress.com

Link to comment
Share on other sites

Savukārt es esmu devis algoritmu, kas garantēti piešķir unikālu ID. ;)

 

Aleksej, tas nepiešķir Globāli unikālu ID, tāpēc nevar arī salīdzināt ar GUID. Tavs algoritms piešķir unikālu ID tikai konkrētas datubāzes ietvaros pie iepriekš izveidota, fiksēta tabulu skaita!

Link to comment
Share on other sites

Aleksejs - protams, ka nav, bet es domāju gan, ka var uztaisīt unikālu! ;) Kā? Nu gluži vienkārši - timestampā, piemēram, ir 12 ciparu skaitlis vai ne? Uztaisa no tiem, em, tagad nepateikšu tieši cik simbolu garu hashu, bet fakts tāds, ka šis hash iekļauj visus ciparus, visus latīņu burtus uz klaviatūras un simbolus "_", "-", piemēram, domā nav iespējams uztaisīt unikālu? Variācija no 10 (cipari) pret variāciju no 38 ;)

Link to comment
Share on other sites

Es varu uztaisīt World Most Unique Number - WMUN un pielikt vēl klāt tam kaut kādu prefiksu - WMUN_259 , piemēram, nu un, kas no tā mainās?

Man sāk izklausīties, ka mēs visi te runājam kā ar sienu. Saki ko teikdams - jēgas nekādas...

Link to comment
Share on other sites

Vienu gadījumu es varu iedomāties, kad GUID var mazināt galvas sāpes. Piemērs, ir valsts uzņēmums, kuram ir pāris lieli reģistri un konkursa kārtībā tos apkalpo dažādas firmas, papildina, taisa interfeisus, utt. Zinot, kā dažkārt lielās IT firmās tiek darīti tādi lieli darbi, paredzot, ka cauri interfeisiem var nākt visneiedomājamākie dati, tad labāk uztaisīt uz visu reģistru datu bāzēm GUID. Rezultātā, kad vienas IT firmas džeki meklēs, ko tās otras IT firmas taisītais interfeiss met ārā, pēc GUID varēs vismaz noorientēties... protams, pie nosacījuma, ka atbilstošie GUID vienēr tiek padoti līdzi.

Link to comment
Share on other sites

e-remit, tāda datubāze slikti projektēta. Visvienkāršāk izvairīties ir pielikt papildus lauku tips, kas pateiks, "KAS TAS IR" un zinās ko darīt, un atšūs nevajadzīgo. A vienkārši "kaut-ko" "kaut-kur" "iepūst" nav prāta darbs.

Link to comment
Share on other sites


×
×
  • Create New...