2

我有一个中等大小(~100mb)的只读数据库,我想把它放在谷歌应用引擎上。我可以把它放到数据存储中,但是数据存储有点慢,没有关系特性,并且有许多其他令人沮丧的限制(这里不介绍)。另一种选择是将所有数据加载到内存中,但我很快就达到了谷歌强加的配额。最后一个选择是使用 django-nonrel + djangoappengine,但恐怕这个包还处于起步阶段。

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

4

3 回答 3

2

我不认为你可能会找到类似的东西......肯定不会超过 blobstore。因为如果您的所有数据都存储在单个 blob 中,那么您必须将整个数据库读入内存以进行任何操作,而您说您不能这样做。

使用数据存储作为后端更合理,但并不多。提供 SQLite 驱动程序的一个大问题是实现事务语义,因为这是 GAE 为了高可用性而从你那里拿走的关键,很难想象有人会费力地编写这样的东西。

于 2011-01-11T22:25:12.010 回答
2

django-nonrel 不会神奇地提供 SQL 数据库 - 所以它并不是真正解决您的问题的方法。

可以像文件一样访问 blobstore blob,但 SQLite 模块需要本机 C 扩展,而 App Engine 上未启用该扩展。

于 2011-01-11T22:56:28.430 回答
1

虽然可以通过BlobReader类将 Blobstore 对象作为类文件对象访问,但如果不先将整个文件加载到内存中,尝试对此类文件执行关系数据库操作,数据存储区的性能可能会更差。

于 2011-01-11T22:15:13.230 回答