谷歌应用引擎上的只读关系数据库?

2024-05-29 03:13:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个中等大小(~100mb)的只读数据库,我想把它放到googleappengine上。我可以把它放到数据存储中,但是数据存储有点慢,没有关系特性,还有许多其他令人沮丧的限制(这里不讨论)。另一个选择是将所有数据加载到内存中,但我很快就达到了google规定的配额。最后一个选择是使用django nonrl+djangoappengine,但恐怕这个包仍处于初级阶段。在

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


Tags: 数据django内存数据库sqlite关系google情况
3条回答

django-nonrl并没有神奇地提供SQL数据库,所以它并不能真正解决您的问题。在

像文件一样访问blobstore blob是可能的,但是SQLite模块需要一个本机C扩展,而appengine上没有启用这个扩展。在

我不认为你会找到这样的东西……当然不会在布洛伯斯托里找到。因为如果所有的数据都存储在一个blob中,那么任何操作都必须将整个数据库读入内存,而您说过不能这样做。在

使用数据存储作为后端更合理,但并不多。提供SQLite驱动程序的一个大问题是实现事务语义,由于这是GAE为了实现高可用性而从您身上夺走的关键,很难想象有人会在编写这样的东西时遇到很多麻烦。在

虽然可以通过^{}类作为类文件对象访问Blobstore对象,但如果不首先将整个文件加载到内存中,那么在尝试对这样的文件执行关系数据库操作时,可能会执行更糟糕的数据存储。在

相关问题 更多 >

    热门问题