/ / In MongoDB: i nomi di proprietà più lunghi creano documenti più grandi / usano più memoria? - java, mongodb, morphia, database

In MongoDB: i nomi di proprietà più lunghi creano documenti più grandi / usano più memoria? - java, mongodb, morphia, database

Io uso Mongo con il suo driver Java e Morphia. Sto mappando questa classe:

public class Transaction {

@Id
private ObjectId id;
private String transactionUniqueIdentifier;

}

Vedo nella console che Mongo salva una transazione in un formato simile {transactionUniqueIdentifier: "xjeer"}

Significa che dovrei usare nomi di proprietà più brevi("uuid" invece di "transactionUniqueIdentifier") per ottenere un database più piccolo? O c'è un ambiente in Mongo che potrebbe occuparsene (creare nomi più brevi internamente ...).
Qualsiasi puntatore sarebbe apprezzato, grazie.

risposte:

1 per risposta № 1

Con la morfologia, i nomi delle proprietà del documento corrispondonoi nomi dei campi Java per impostazione predefinita. Puoi nominarli, tuttavia, ti piacerebbe essere serializzati in mongodb usando l'annotazione @Property e fornendo il nome che desideri.


2 per risposta № 2

Non esiste una mappatura interna dei nomi dei campi all'interno di MongoDB.

La creazione o meno di nomi più brevi dipende da numerosi fattori, tra cui l'utilizzo del documento in Riduzione della mappa, la dimensione complessiva del documento e l'hardware sui server.

Ad esempio se il tuo documento è più facile da gestire in Map Reduce using transactionUniqueIdentifier piuttosto che uuid e il documento è piuttosto piccolo (diciamo circa 5 KB ciascuno) e hai SSD (probabilmente non necessari in realtà), quindi il restringimento dei nomi dei campi diventa quasi inutile.

Alcuni sostengono che non è così, ma l'uso del mondo reale impone di avere cose più grandi di cui preoccuparsi.

Tuttavia, se avessi molti campi con nomi lunghi o se avessi nomi più lunghi di transactionUniqueIdentifier quindi potresti volerli accorciarealtrimenti potresti passare la maggior parte del tempo a caricare i nomi dei campi di un documento dal disco invece di caricare i valori effettivi (poiché i nomi dei campi saranno maggiori della dimensione totale dei valori dei documenti).

Ci sono piani per comprimere i nomi dei campi, tuttavia, fino ad ora, altre funzionalità hanno avuto la priorità.