Forma correcta de almacenar usuarios en la base de datos de Firebase

Actualmente estoy trabajando en un diseño de base de datos para mi base de datos Firebase. Estoy viendo muchos tutoriales diferentes sobre cómo deberían verse los diseños, pero me estoy confundiendo un poco sobre lo que es correcto.

No estoy seguro de cómo deberían almacenarse los usuarios, déjenme darles un ejemplo:

{
  "users": {
    "alanisawesome": {
      "nickname": "Alan The Machine"
    },
    "gracehop": {
      "nickname": "Amazing Grace"
    }
  }
}

En el ejemplo anterior de los documentos de Firebase Legacy, almacenan a los usuarios por sus nombres de usuario. Sin embargo, en otro ejemplo encontré lo siguiente:

{
  "users": {
    "123": {
      "name": "Kato"
    },
    "234": {
      "name": "Anant"
    }
  }
}

Aquí están almacenando a los usuarios con un UID. Entonces puedes simplementepush() nuevos usuarios, y sus ID son claves aleatorias como las siguientes-JRHTHaKuITFIhnj02kE.

¿Cuál de las anteriores es la mejor manera de almacenar usuarios? Nombre de usuario, UID personalizado o clave generada al azar?

Respuestas a la pregunta(1)

Su respuesta a la pregunta