Reactin yksilöllisistä id:istä keskustelu
Kuten jo tiedät, taulukossa olevissa objekteissa tulee
olla yksilölliset id:t. Selvitetäänpä,
mistä ne tulevat.
Objektitaulukoilla voi olla kaksi lähdettä: ne ovat joko palvelimelta lähetettyjä tai asiakaspäässä (eli selaimessa) luotuja.
Palvelimelta saadut tiedot on yleensä siellä tallennettu tietokantaan. Tietokannat jaottuvat SQL- (esim. mySQL, PostgreSQL) tai NoSQL- (esim. MongoDB) tyyppeihin.
SQL-tietokannoissa on yleensä numeeriset
id:t, jotka tietokanta asettaa
automaattisesti nousevaan järjestykseen.
NoSQL-tietokannoissa on yleensä id:t,
jotka ovat satunnaisia yksilöllisiä
merkkijonoja. Oletuksena on, että näillä merkkijonoilla ei
ole yhteensopivuusongelmia (kolmioita) kahdella
taulukon alkiolla.
id:den yksilöllisyys saavutetaan
riittävän pitkien satunnaisten merkkijonojen
avulla - niin pitkien, että kahden merkkijonon yhteensopivuuden todennäköisyys
on lähes nolla.
Samalla mitä enemmän tietoja tietokannassa on, sitä suurempi on yhteensopivuuden todennäköisyys. Ohjelmoijan tehtävänä on arvioida tietomäärä etukäteen ja määrittää optimaalinen satunnaisten merkkijonojen pituus, jotta yhteensopivuuden todennäköisyys olisi minimaalinen (riittävän pieni, jotta sitä voidaan pitää hyväksyttävänä).