Обсуждение уникальных id в React
Как вы уже знаете, в массиве объектов должны
присутствовать уникальные id
. Давайте
разберемся, откуда они берутся.
Массивы объектов могут иметь два происхождения: либо они присланы нам сервером, либо сгенерированы на клиенте (то есть в браузере).
Данные, присланные нам сервером, как правило хранились там в базе данных. Базы данных (БД) бывают вида SQL (например, mySQL, PostgreSQL) или NoSQL (например, MongoDB).
SQL базы данных, как правило имеют числовые
id
, автоматически расставляемые базой
данных по возрастанию.
NoSQL базы данных, как правило, имеют id
,
представляющие собой случайные уникальные
строки. Предполагается, что эти строки не
имеют совпадений (коллизий) у двух
элементов массива.
Уникальность id
достигается за счет
достаточно большой длины случайных строк
- настолько больших, что вероятность совпадения
двух строк будет близка в нулю.
При этом, чем больше данных в БД, тем больше вероятность коллизии. Задача программиста состоит в том, чтобы заранее прикинуть объем данных и определить оптимальную длину случайных строк, чтобы вероятность коллизий была минимальна (достаточно мала, чтобы считаться приемлемой).