Matriz de objetos vs Objeto de objetos

A questão é decidir as compensações entre as seguintes notações:

Baseado em JSON:

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

Baseado em matriz:

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

Relacionado aesta postando sobre o mesmo problema, eu decidi (no front-end) usar a notação de objeto JSON em vez da matriz de objetos, pois ela se adapta aos meus requisitos e melhor desempenho e menos código no navegador.

Mas o problema é que a lista em si não é estática. Com isso, quero dizer que a lista está sendo gerada, ou seja, buscada / armazenada no DB (NoSQL) e criada para novas entradas por meio de uma API Java no servidor. Não consigo decidir qual notação devo usar no back-end (o que eventualmente também afetará a interface do usuário).

Quaisquer pensamentos / sugestões sobre desempenho, manutenção ou escalabilidade são apreciados.

questionAnswers(6)

yourAnswerToTheQuestion