# Обсуждение уникальных id в React

Как вы уже знаете, в массиве объектов должны присутствовать уникальные `id`. Давайте разберемся, откуда они берутся.

Массивы объектов могут иметь два происхождения: либо они присланы нам сервером, либо сгенерированы на клиенте (то есть в браузере).

Данные, присланные нам сервером, как правило хранились там в базе данных. Базы данных (БД) бывают вида SQL (например, mySQL, PostgreSQL) или NoSQL (например, MongoDB).

SQL базы данных, как правило имеют числовые `id`, автоматически расставляемые базой данных по возрастанию.

NoSQL базы данных, как правило, имеют `id`, представляющие собой случайные уникальные строки. Предполагается, что эти строки не имеют совпадений (коллизий) у двух элементов массива.

Уникальность `id` достигается за счет достаточно большой длины случайных строк - настолько больших, что вероятность совпадения двух строк будет близка в нулю.

При этом, чем больше данных в БД, тем больше вероятность коллизии. Задача программиста состоит в том, чтобы заранее прикинуть объем данных и определить оптимальную длину случайных строк, чтобы вероятность коллизий была минимальна (достаточно мала, чтобы считаться приемлемой).

←→
↑