2012-04-01 30 views
20

Con la versione recente di NDB, c'è qualche motivo per continuare a utilizzare la vecchia API del datastore?Google-app-engine NDB

Sto lavorando a un'applicazione che attualmente utilizza la vecchia API del datastore e ho messo un po 'di impegno nella memorizzazione nella cache di oggetti in memcache. Ho ragione nella mia comprensione del fatto che, passando a NDB, posso rimuovere la cache personalizzata e preservare la mia attuale prestazione?

Inoltre, NDB in qualche modo modifica la necessità di contatori di sharding? Il limite di 5 scritture al secondo a un'entità (gruppo) è in qualche modo modificato in NDB?

EDIT

Dato che la mia domanda è ancora in sviluppo e non ho le entità che non posso facilmente cancellare, c'è qualcosa che dovrebbe prendere in considerazione prima di cambiare a NDB, o sarebbe così facile come solo cambiando db.Model a ndb.Model?

+1

O gli interni sono rotti o Nick Johnson non funziona la domenica ... in entrambi i casi perdo ... –

+5

Cripes, dammi una possibilità! Hai solo fatto la domanda un'ora fa. :) –

risposta

18

Il motivo principale per continuare a utilizzare la vecchia API è per le applicazioni legacy. L'API NDB non è completamente uguale all'API DB esistente, quindi è necessario apportare modifiche al codice per utilizzarlo. Hai ragione a non dover più utilizzare il tuo codice di memorizzazione nella cache, almeno per ottenere operazioni: se stai memorizzando nella cache i risultati delle query, sarà comunque utile conservare tale codice.

NDB non fornisce alcun mezzo per aggirare la necessità di contatori di frammenti se si desidera utilizzare elevate velocità di scrittura su di essi.

+0

Solo le informazioni di cui avevo bisogno, grazie. Non sono riuscito a memorizzare il risultato di query. Conosci qualche buona fonte di informazioni su questo argomento? –

+0

@KlausByskovHoffmann Non proprio: dipende interamente dalla natura delle tue domande. Se puoi invalidare in modo affidabile i risultati, con tutti i mezzi memorizzali nella cache - o meglio, il risultato finale (la pagina generata). –

+0

Grazie. Beh, non sono sicuro di poter invalidare in modo affidabile i risultati in tutti i casi, quindi potrei essere meglio non memorizzare i risultati delle query al momento. Ad ogni modo, grazie per il vostro aiuto, e bello vedere che effettivamente lavorate la domenica :-) –

Problemi correlati