Google App Engine: não Datastore um banco de dados tradicional relação. O que se quer dizer com isso?

StackOverflow https://stackoverflow.com/questions/1112706

  •  12-09-2019
  •  | 
  •  

Pergunta

A partir da GAE guia de iniciação

Uma vez que o armazenamento de dados do Google App Engine é não um banco de dados relacional tradicional, consultas não são especificados usando SQL. Em vez disso, você pode preparar consultas usando um SQL-como linguagem de consulta que chamamos GQL.

O que eles querem dizer com "não é um banco de dados relacional tradicional" e que implicações isso tem que não exigindo GQL em vez de SQL.

Foi útil?

Solução

É muito funcionalmente limitado em comparação com um banco de dados relacional: não se junta, nenhuma verificação de integridade de dados reais (como singularidade & c), nenhum GROUP BY e funções de agregação, tais como SUM etc etc, as transações dentro de uma única entidade de grupo, etc , etc -. Muitas diferenças

Não só você deve fazer muito mais ao nível da aplicação (em vez de fazê-lo no banco de dados), mas para desempenho e escalabilidade você deve desnormalizar adequadamente seus dados (alguns fazem isso em bancos de dados relacionais também, que é controverso, mas muitas vezes a contragosto aceito, mas em GAE é uma obrigação). Muitos ensaios excelentes e vídeos na net habitar em profundidade as questões de "quais as implicações que isso tem" - por exemplo, se você sabe o suficiente Java, este vídeo vai ajudar, etc etc.

Outras dicas

Sobre a 1/10 da base de código para o mesmo projeto, mas talvez mais tempo de desenvolvimento desde que você está lidando com uma nova, de teste e software de visualização. Você não vai precisar de um script de construção do banco de dados, não vai misturar um monte ou SQL incosistent, PHP, Java, XML (onde 0 significa falso em uma língua e não a outra) e outros grandes implicações foram que não teremos Ele chefes, alegando que um banco de dados relacional é a solução para todo e qualquer problema, diferentes entidades do mesmo tipo pode ter um número diferente de propriedades, o padrão de design mais relevante é "entidade" que também pode ser usado com RDBMS,

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top