我有一个中等尺寸(〜100MB)仅阅读数据库,我想放置Google App Engine。我可以将其放入数据存储中,但是数据存储却很慢,没有关系功能,并且还有许多其他令人沮丧的局限性(在这里没有进入)。另一个选择是将所有数据加载到内存中,但是我迅速达到了Google施加的配额。最后的选择是使用Django-nonrel + DjangoAppengine,但恐怕该软件包仍处于起步阶段。

理想情况下,我想创建一个只读的SQLite数据库,该数据库使用BlobStore作为数据源。这可能吗?

有帮助吗?

解决方案

我认为您不可能找到类似的东西...肯定不会超过Blobstore。因为如果您的所有数据都存储在一个斑点中,则必须将整个数据库读取到任何操作中的内存中,并且您说不能这样做。

将数据存储用作后端更合理,但并不多。提供SQLITE驱动程序的最大问题将会实现交易语义,因为这是Gae为了高可用性而从您身上带走的关键,因此很难想象有人会遇到很多麻烦。

其他提示

django -nonrel不会神奇地提供SQL数据库 - 因此,这并不是解决问题的方法。

可以像文件一样访问BlobStore Blob,但是SQLITE模块需要一个本机C扩展名,该扩展名在App Engine上未启用。

虽然可以通过 BlobReader 类作为文件状对象,它可能会执行更糟糕的是,尝试在此文件上尝试进行关系数据库操作的数据存储在不将整个文件加载到内存中。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top