Discuție despre id-uri unice în React
După cum știți deja, într-un tablou de obiecte trebuie să
fie prezente id unice. Să
înțelegem de unde provin acestea.
Tablourile de obiecte pot avea două origini: fie ne sunt trimise de server, fie sunt generate pe client (adică în browser).
Datele trimise nouă de server, de regulă, au fost stocate acolo într-o bază de date. Bazele de date (BD) pot fi de tip SQL (de exemplu, mySQL, PostgreSQL) sau NoSQL (de exemplu, MongoDB).
Bazele de date SQL, de regulă, au
id numerice, stabilite automat de baza
de date în ordine crescătoare.
Bazele de date NoSQL, de regulă, au id,
reprezentând șiruri de caractere aleatorii unice.
Se presupune că aceste șiruri nu
au coincidențe (coliziuni) la două
elemente ale tabloului.
Unicitatea id este atinsă datorită
lungimii suficient de mari a șirurilor aleatorii
- atât de mari încât probabilitatea de coincidență
a două șiruri să fie apropiată de zero.
În același timp, cu cât sunt mai multe date în BD, cu atât este mai mare probabilitatea coliziunii. Sarcina programatorului constă în a estima dinainte volumul de date și a determina lungimea optimă a șirurilor aleatorii, astfel încât probabilitatea coliziunilor să fie minimă (suficient de mică pentru a fi considerată acceptabilă).