React-ում եզակի id-ների քննարկում
Ինչպես արդեն գիտեք, օբյեկտների զանգվածում պետք է
լինեն եզակի id: Եկեք
պարզենք, թե որտեղից են դրանք գալիս:
Օբյեկտների զանգվածները կարող են ունենալ երկու ծագում. կամ դրանք մեզ են ուղարկվել սերվերից, կամ ստեղծվել են կլիենտի կողմից (այսինքն՝ բրաուզերում):
Մեզ սերվերից ուղարկված տվյալները, որպես կանոն, այնտեղ պահվում էին տվյալների բազայում: Տվյալների բազաները (ՏԲ) լինում են SQL տեսակի (օրինակ՝ mySQL, PostgreSQL) կամ NoSQL (օրինակ՝ MongoDB):
SQL տվյալների բազաները, որպես կանոն, ունենում են թվային
id, որոնք ավտոմատ կերպով տեղադրվում են տվյալների բազայի
կողմից աճման կարգով:
NoSQL տվյալների բազաները, որպես կանոն, ունենում են id,
որոնք ներկայացնում են պատահական եզակի
տողեր: Ենթադրվում է, որ այդ տողերը
չունեն համընկնումներ (կոլիզիաներ) երկու
զանգվածի տարրերի միջև:
id-ների եզակիությունը ձեռք է բերվում
պատահական տողերի բավականաչափ մեծ երկարության
հաշվին - այնքան մեծ, որ երկու տողերի համընկնման հավանականությունը
մոտենա զրոյի:
Այդ դեպքում, որքան շատ տվյալներ կան ՏԲ-ում, այնքան մեծ է կոլիզիայի հավանականությունը: Ծրագրավորողի խնդիրն է նախապես գնահատել տվյալների ծավալը և որոշել պատահական տողերի օպտիմալ երկարությունը, որպեսզի կոլիզիաների հավանականությունը լինի նվազագույն (բավականաչափ փոքր, որպեսզի ընդունելի համարվի):