Question

J'ai une taille moyenne (~ 100mb) base de données en lecture seule que je veux mettre sur le moteur d'application de Google. Je pourrais le mettre dans le datastore, mais le datastore est un peu lent, n'a pas de caractéristiques relationnelles, et a beaucoup d'autres limitations de frustration (pas d'entrer dans les ici). Une autre option est de charger toutes les données en mémoire, mais je frappe rapidement le quota imposé par google. Une dernière option est d'utiliser django-nonrel + djangoappengine, mais je crains que paquet est encore à ses débuts.

Idéalement, je voudrais créer une base de données en lecture seule sqlite qui utilise un blobstore comme source de données. Est-ce possible?

Était-ce utile?

La solution

Je ne pense pas que vous êtes susceptible de trouver quelque chose comme ça ... sûrement pas sur blobstore. Parce que si toutes vos données sont stockées dans une seule goutte, vous auriez à lire la base de données entière en mémoire pour toute opération, et vous avez dit que vous ne pouvez pas le faire.

Utilisation du datastore comme back-end est plus plausible, mais pas beaucoup. Le gros problème avec la fourniture d'un pilote SQLite il serait mise en œuvre de la sémantique de transaction, et puisque c'est l'élément clé GAE éloigne de vous pour le bien de la haute disponibilité, il est difficile d'imaginer que quelqu'un va beaucoup de mal à écrire une telle chose.

Autres conseils

django-nonrel ne fournit pas comme par magie une base de données SQL -. Il est donc pas vraiment une solution à votre problème

Accès à un blob blobstore comme un fichier est possible, mais le module SQLite nécessite une extension native C, qui n'est pas activé sur App Engine.

Bien qu'il soit possible d'accéder aux objets Blobstore via le BlobReader classe en tant que fichiers comme des objets, il serait probablement encore pire effectuer le datastore pour essayer de faire des opérations de bases de données relationnelles sur un tel fichier sans charger l'intégralité du fichier dans la mémoire d'abord.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top