Compreender o armazenamento de dados e ficheiros

Para armazenar dados e ficheiros no App Engine, pode usar Google Cloud serviços ou qualquer outro serviço de armazenamento suportado pelo seu idioma e acessível a partir da sua instância do App Engine. As bases de dados de terceiros podem ser alojadas noutro fornecedor de nuvem, alojadas no local ou geridas por um fornecedor externo.

Google Cloud serviços de armazenamento

Para apps do App Engine executadas no ambiente padrão do Java 8, recomendamos um dos seguintes Google Cloud serviços de armazenamento:

Nome Estrutura Consistência Custo
Firestore no modo Datastore Sem esquema (NoSQL) Fortemente consistente, exceto quando executa consultas globais. O modo Datastore oferece uma quota gratuita com limites diários. As contas pagas oferecem armazenamento, operações de leitura e operações de escrita ilimitados. Estão disponíveis mais informações na página de quotas do Datastore.
Cloud SQL para MySQL ou
Cloud SQL para PostgreSQL
Relacionais Fortemente consistente A Google oferece dois planos de faturação para o Google Cloud SQL: pacotes e por utilização. Estão disponíveis mais informações na folha de preços do Cloud SQL.
Cloud Storage Ficheiros e respetivos metadados associados (armazenamento de ficheiros na nuvem) Fortemente consistente, exceto quando realiza operações de lista que obtêm uma lista de contentores ou objetos. Não existem cobranças associadas à realização de chamadas para o Google Cloud Storage. No entanto, todos os dados armazenados no Google Cloud Storage estão sujeitos às taxas de armazenamento de dados do Google Cloud Storage habituais.

Os preços do Cloud Storage estão disponíveis na folha de preços do Cloud Storage.

Estas opções não são mutuamente exclusivas. Por exemplo, a mesma aplicação pode armazenar informações numa base de dados do Cloud SQL e também armazenar ficheiros num contentor do Cloud Storage.

Consulte uma lista completa dos Google Cloud produtos de armazenamento na página Produtos do Cloud Storage.

Outros fornecedores de nuvem

As apps do App Engine podem estabelecer ligação a bases de dados externas alojadas noutras nuvens públicas, desde que esses servidores de bases de dados e a sua firewall estejam configurados corretamente para aceitar ligações. A sua app do App Engine estabelece ligação através da Internet com o endereço IP público desse serviço externo.

Bases de dados geridas por um fornecedor externo

Existem muitos fornecedores que oferecem serviços de base de dados geridos, como o mLab para o MongoDB, e a Redis Labs oferece cache do Redis alojada. Estes fornecedores processam o alojamento, a configuração e a manutenção de bases de dados. O App Engine pode ligar-se a estes serviços externos através da Internet, da mesma forma que outras nuvens públicas, usando o endereço IP público desse serviço.

Nas instalações

Se tiver bases de dados nas instalações existentes que queira tornar acessíveis à sua app do App Engine, pode configurar a sua rede interna e firewall para atribuir um endereço IP público à base de dados ou estabelecer ligação através de uma VPN.

Considerações de produção

O App Engine pode ser configurado para dimensionar automaticamente a sua aplicação horizontalmente com base em várias métricas. Ao contrário das aplicações Web, as bases de dados requerem frequentemente alterações não triviais para responder à escalabilidade. Em aplicações de produção, o App Engine pode sobrecarregar rapidamente uma base de dados durante picos de tráfego. Deve ter em consideração a carga de tráfego média prevista e a carga durante os picos ao configurar e implementar bases de dados.