Skaitiklių numeriai dabar tikrinami abiejose lentelėse
Šiame straipsnyje
Kiekvienas čia esantis skaitiklis turi numerį. Jis yra įterpimo kode, statistikos adrese ir visuose puslapiuose, kuriuose jį įdėjo savininkas. Numeriai išduodami atsitiktinai parinkus vieną nuo 100 iki 9 999 999 999 ir patikrinus, ar jis jau užimtas.
Tikrinant vieną lentelę.
Kita lentelė
Skaitikliai, ilgai neužregistravę peržiūros, perkeliami į archyvo lentelę. Tai įprasta priežiūra — darbinė lentelė lieka maža, o jos užklausos – greitos. 2026 m. rugpjūčio 24 d. archyve buvo 212 771 numeris, ir nė vieno jų nebuvo generatoriaus tikrinamoje lentelėje.
Todėl kiekvieną jų buvo galima išduoti iš naujo.
Esant dešimčiai milijardų galimų numerių, susidūrimo tikimybė yra maždaug 0,002 procento: maždaug vienas iš 47 000 naujų skaitiklių gautų kitam priklausiusį numerį. Taigi reta, bet ne abstraktu. Skaitiklis archyvuojamas būtent todėl, kad jo puslapis nutilo — bet tylus puslapis nebūtinai ištrintas. Jei senas įterpimo kodas tebėra užmirštoje šoninėje juostoje ir puslapį aplanko lankytojas, peržiūra patenka į svetimą statistiką, į metais vėliau sukurtą skaitiklį.
Ar taip kada nors nutiko, iš duomenų nustatyti neįmanoma: taip atėjusi peržiūra niekuo nesiskiria nuo kitų. Galima nustatyti, kad taip nutikti nebegali.
Du pakeitimai
Generatorius dabar tikrina abi lenteles. O ištrynus skaitiklį — tai nuo tos pačios dienos savininkas gali padaryti pats — lieka žymė: eilutė tik su numeriu, kad jo niekada nebūtų galima išduoti iš naujo. Ištrynimas viena transakcija pašalina dvidešimties lentelių duomenis ir nepalieka kopijos – tai ir yra ištrynimo esmė; numeris yra vienintelis dalykas, kuris turi likti negrįžtamai užimtas.
Kodėl tai liko nepastebėta
Generatorius parašytas tada, kai buvo viena lentelė. Archyvas atsirado vėliau, dėl kitos priežasties, sprendžiant kitą problemą, ir niekas nesusiejo šių dviejų minčių. Abi dalys atskirai buvo teisingos.
Dauguma tokių atvejų yra būtent tokie. Ne vienoje vietoje kieno nors padaryta klaida, o pasekmė, kurios niekas negalėjo matyti iš savo vietos. Vienintelė apsauga – sąmoningai ieškoti, o šį atvejį atskleidęs klausimas buvo paprastas: kur dar gyvena skaitiklio numeris, prieš kuriant ištrynimą?