Architettura: memorizzazione di tutte le proprietà come JsonProperty in NDB?

2

Sto memorizzando i dati per la mia app nel NDB di Google, ma sono confuso su quale architettura usare. I dati dell'app sono principalmente basati su testo, ma hanno alcune proprietà non di testo come DateTimeProperty , FloatProperty e uno o due BooleanProperty .

Potrei memorizzare correttamente ogni proprietà (ad es. datetime è memorizzata come DateTimeProperty ), oppure potrei già impacchettare tutti i dati come un oggetto JSON e memorizzarlo come JsonProperty .

Memorizzare tutto come JsonProperty offre il vantaggio di occupare meno spazio (c'è un flag compress che causa il gzip del contenuto), ma l'adozione di questo approccio rende più difficile la ricerca nel database con query() .

Quale approccio è meglio prendere?

    
posta Ben 29.10.2014 - 06:53
fonte

1 risposta

1

Personalmente, utilizzerei i normali tipi di dati invece di serializzarli su JSON, quindi archiviarli invece perché è il modo più naturale per farlo e puoi indicizzarli.

Anche la memorizzazione degli oggetti JSON ha i suoi usi, specialmente se si desidera ottenere risposte istantanee o se l'elaborazione dei dati può leggere facilmente JSON (cioè nodejs e il suo ilk) e la necessità di interrogare questo campo non esiste ( JSONProperty è memorizzato come un blob, indicizzazione di buona fortuna che)

    
risposta data 29.10.2014 - 07:54
fonte

Leggi altre domande sui tag