2009-10-06 10 views
9

Sto leggendo sul motore di Google App e sto pensando di usarlo come un CDN per un progetto su cui sto lavorando. Per quanto posso dire, ci sono due modi per memorizzare i dati. Potrei usare un archivio dati o inserire file in una directory.Memorizzazione dei dati in un'app di Google App Engine

Sono cresciuto credendo che fosse una cattiva idea archiviare grandi dati binari in un database, ma secondo Google, il datastore non è un RMDB, semplicemente si comporta come uno.

Quindi il mio istinto mi sta dicendo di caricare i file in una directory. Tuttavia, ho pensato che avrei fatto meglio a esprimere un'opinione qui prima di prendere una decisione.

Qualcuno ha usato GAE per cose come questa? E se sì, quale metodo hai scelto per la memorizzazione dei file e perché?

risposta

1

Oggi Google Cloud Storage è la strada da percorrere per file di grandi dimensioni.

6

Non è possibile scrivere nel file system in App Engine. È necessario utilizzare il Datastore per memorizzare qualsiasi dato.

Si noti che se i "file binari di grandi dimensioni" sono effettivamente grandi, si eseguirà il limite di 1 MB su tutte le chiamate API. Una API per la memorizzazione di blob più grandi è sulla roadmap, ma non c'è modo di sapere quando verrà rilasciata. Al momento, è necessario dividere i BLOB di dimensioni superiori a 1 MB in più entità del datastore.

+0

Ho appena individuato il limite di 1 mb. Che lancia una chiave inglese nei lavori. Ho bisogno di memorizzare MP3 che di solito saranno tra 3 e 6 MB. Quindi è di nuovo al tavolo da disegno. – gargantuan

+1

L'API Blob è in arrivo a breve, il che consentirà di archiviare e recuperare file molto più grandi. –

+0

Spero che Nick abbia ragione perché anche se si è sotto il limite di 1 MB, si raggiungerà anche il limite di quota "Dati recuperati da DB". Questo è un problema più insidioso, blob o no. – JasonSmith