Diskuse o jedinečných id v Reactu
Jak již víte, v poli objektů musí
být přítomna jedinečná id. Pojďme
se podívat, odkud pocházejí.
Pole objektů mohou mít dva původy: buď jsou nám zaslány serverem, nebo jsou vygenerována na klientovi (tedy v prohlížeči).
Data, která nám server zaslal, jsou obecně uložena v databázi. Databáze (DB) mohou být typu SQL (například mySQL, PostgreSQL) nebo NoSQL (například MongoDB).
SQL databáze obvykle mají číselná
id, která databáze automaticky
přiřazuje ve vzestupném pořadí.
NoSQL databáze obvykle mají id,
která představují náhodné jedinečné
řetězce. Předpokládá se, že tyto řetězce
se u dvou prvků pole neshodují
(kolize).
Jedinečnost id je dosažena díky
dostatečné délce náhodných řetězců
- tak velké, že pravděpodobnost shody
dvou řetězců bude blízká nule.
Přitom čím více dat je v DB, tím větší je pravděpodobnost kolize. Úkolem programátora je předem odhadnout objem dat a určit optimální délku náhodných řetězců, aby pravděpodobnost kolizí byla minimální (dostatečně malá, aby byla považována za přijatelnou).