1

NDB est livré avec beaucoup de types de propriété qui peut être utilisé pour stocker des données structurées:Quels sont les avantages/inconvénients des différentes façons de stocker des données structurées dans appengine ndb?

ndb.StructuredProperty Je vois que cela pourrait être utile pour stocker d'autres instances de modèle, dans les cas où il n'est pas utile stocker le modèle sur son propre moteur de l'application. mais il y a aussi le LocalStructuredProperty. La documentation indique seulement que la valeur est stockée une valeur opaque, mais quels avantages cela a-t-il?

JSONProperty et PickledProperty est-lisibilité humaine des données, le seul avantage de stocker des données JSON?

+1

JSONProperty et PickledProperty. Je pense que vous voulez dire désavantage, parce que les données sont sérialisées. – voscausa

Répondre

3

docstring de classe LocalStructuredProperty:

Ossature qui est sérialisé à un blob opaque.

Cela ressemble à StructuredProperty du côté Python, mais
écrit comme un BlobProperty dans le magasin de données. Il n'est pas indexé et vous ne pouvez pas interroger les sous-propriétés. D'autre part, le disque sur la représentation est plus efficace et peut être encore plus efficace en passant comprimé = True, qui compresse les données blob en utilisant gzip.

Json et pickle n'ont pas de structure prédéfinie.

+5

Notez que JsonProperty dérive de BlobProperty pour que le visualiseur de banque de données n'indique pas le contenu. (Il y a des cas de coin où les données ne sont pas en fait UTF-8, c'est pourquoi.) Différence entre StructuredProperty et LocalStructuredProperty est que pour SP, chaque champ est indexé (cela coûte supplémentaire par champ par écriture) et séparément visible dans la visionneuse de datastore; LSP n'est pas indexé (c'est-à-dire moins cher) et ne s'affiche pas bien dans la visionneuse de banque de données. SP et LSP appliquent la structure d'une sous-classe Model donnée; JSONP et PickledP peuvent stocker tout ce qui peut être sérialisé en utilisant JSON ou pickle. –

Questions connexes