Matriz de objetos vs Objeto de objetos

El problema es decidir las compensaciones entre las siguientes anotaciones:

Basado en JSON:

"users": {
    "id1": {
        "id": "id1",
        "firstname": "firstname1",
        "lastname": "lastname1"
    },
    "id2": {
        "id": "id2",
        "firstaame": "firstname2",
        "lastname": "lastname2"
    }
}

Basado en matriz:

users: [
    {
        "id": "id",
        "key2": "value2",
        "key3": "value3"
    },
    {
        "id": "id",
        "key2": "value2",
        "key3": "value3"
    }
]

Relativa aesta después del mismo problema, he decidido (en la parte frontal) usar la notación de objetos JSON en lugar de una matriz de objetos, ya que se adapta a mis requisitos y a un mejor rendimiento y menos código en el navegador.

Pero el problema es que la lista en sí no es estática. Con esto quiero decir que la lista se está generando, es decir, recuperada / almacenada desde DB (NoSQL) y creada para nuevas entradas a través de una API Java en el servidor. No puedo decidir qué notación debo usar en el back-end (que eventualmente también afectará la interfaz de usuario).

Cualquier idea / sugerencia sobre rendimiento, mantenibilidad o escalabilidad es apreciada.

Respuestas a la pregunta(6)

Su respuesta a la pregunta