Google App Engine: Datastore non un database relazione tradizionale. Che cosa si intende con questo?
-
12-09-2019 - |
Domanda
Dalla guida GAE per iniziare
Perché il datastore App Engine è Non un database relazionale tradizionale, query non sono specificati utilizzando SQL. Invece, è possibile preparare query utilizzando un linguaggio di query SQL-like che chiamiamo GQL.
Che cosa si intende per "non un database relazionale tradizionale" e quali implicazioni ha questo altro che richiedere GQL invece di SQL.
Soluzione
E 'molto funzionale limitata rispetto ad un DB relazionale: non si unisce, nessun controllo reale dei dati di integrità (come ad esempio l'unicità e c), non GROUP BY e di aggregazione funzioni come SUM etc etc, le transazioni solo all'interno di un'entità-gruppo, ecc , ecc -. differenze MOLTI
Non solo si deve fare molto di più a livello di applicazione (invece di farlo nel database), ma per le prestazioni e la scalabilità si deve opportunamente denormalizzare i dati (alcuni lo fanno che nel DB relazionali troppo, che è controverso, ma spesso di malavoglia accettato, ma in GAE è un must). Molti saggi eccellenti e video in rete dimorano in profondità le questioni di "quali implicazioni ha questo" - per esempio, se si conosce abbastanza Java, questo video aiuterà, ecc ecc.
Altri suggerimenti
A proposito di 1/10 del codice di base per lo stesso progetto, ma forse è più tempo di sviluppo dal momento che stai gestione di un nuovo, di test e software di anteprima. Non avrete bisogno di uno script di database di accumulo, non mescolare un mazzo o SQL incosistent, PHP, Java, XML (dove 0 significa falso in una lingua e non l'altro) e di altri grandi implicazioni erano che non avremo Si boss sostenendo che un database relazionale è la soluzione a tutti e qualsiasi problema, diverse entità dello stesso tipo possono avere diverso numero di proprietà, il modello di progettazione più rilevante è "entità" che può anche essere utilizzato con RDBMS,