Domanda

Ho un medie dimensioni (~ 100MB) di database di sola lettura che voglio mettere sul motore Google. Potrei metterlo in archivio dati, ma il datastore è una specie di lento, non ha le caratteristiche relazionali, e ha molte altre limitazioni frustranti (non andare in loro qui). Un'altra opzione sta caricando tutti i dati in memoria, ma ho subito colpito la quota imposta da google. Un ultima opzione è quella di utilizzare django-nonrel + djangoappengine, ma ho paura che il pacchetto è ancora nella sua infanzia.

Idealmente, vorrei creare una sola lettura database SQLite che utilizza un blobstore come fonte di dati. È possibile?

È stato utile?

Soluzione

Non credo che è molto probabile di trovare qualcosa di simile ... sicuramente non è finita blobstore. Perché se tutti i dati sono memorizzati in un unico blob, dovreste leggere l'intero database in memoria per ogni operazione, e hai detto che non è possibile farlo.

Uso della datastore come backend è più plausibile, ma non molto. Il grande problema di fornire un driver SQLite ci sarebbe attuare la semantica di transazione, e dal momento che questa è la cosa fondamentale GAE porta lontano da te per il bene di alta disponibilità, è difficile immaginare qualcuno di andare di disturbo di scrivere una cosa del genere.

Altri suggerimenti

django-nonrel non magicamente forniscono un database SQL -. Quindi non è davvero una soluzione al vostro problema

L'accesso a un blob blobstore come un file è possibile, ma il modulo SQLite richiede un'estensione C nativo, che non è abilitato su App Engine.

Mentre è possibile accedere agli oggetti blobstore tramite il BlobReader classe come file come oggetti, che sarebbe probabilmente eseguire anche peggio il datastore per cercare di fare operazioni di database relazionali su un file senza caricare la totalità del file in memoria prima.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top