Python/Google应用程序引擎数据存储性能

Python/Google应用程序引擎数据存储性能,python,performance,json,google-app-engine,google-cloud-datastore,Python,Performance,Json,Google App Engine,Google Cloud Datastore,在python/google应用程序引擎应用程序中,我可以选择是将一些静态数据(大小为几KB)存储在本地json/xml文件中,还是将其放入数据存储并从中查询。数据是由我创建的,因此不存在格式错误的数据问题。在节省配额、减少资源使用和应用程序速度等具体方面,哪种方法更适合这种情况 我想使用simplyjson从json文件中读取会更好,因为这种方法不需要数据存储查询,同时仍然相当快 更进一步说,该应用不需要大的数据存储(目前约400KB),因此将所有数据移动到json文件以绕过配额限制是否值得?

在python/google应用程序引擎应用程序中,我可以选择是将一些静态数据(大小为几KB)存储在本地json/xml文件中,还是将其放入数据存储并从中查询。数据是由我创建的,因此不存在格式错误的数据问题。在节省配额、减少资源使用和应用程序速度等具体方面,哪种方法更适合这种情况

我想使用simplyjson从json文件中读取会更好,因为这种方法不需要数据存储查询,同时仍然相当快


更进一步说,该应用不需要大的数据存储(目前约400KB),因此将所有数据移动到json文件以绕过配额限制是否值得?

将数据保存在静态文件而不是数据存储中会更快。正如您所说,这节省了数据存储配额,也节省了往返数据存储的时间


但是,存储在静态文件中的任何数据都是静态的,应用程序无法更改这些数据(请参阅)。每次要进行更改时,都需要重新部署文件(即,不能通过web界面进行任何更改)。如果这是可以接受的,那么使用这种方法,因为它简单快速。

将数据保存在静态文件而不是数据存储中更快。正如您所说,这节省了数据存储配额,也节省了往返数据存储的时间


但是,存储在静态文件中的任何数据都是静态的,应用程序无法更改这些数据(请参阅)。每次要进行更改时,都需要重新部署文件(即,不能通过web界面进行任何更改)。如果这是可以接受的,那么就使用这种方法,因为它简单而快速。

如果您的数据是小的、静态的且不经常更改,那么只需将数据作为
dict
写入它自己的模块中,然后在需要的地方导入它,就可以获得最佳性能。这将利用Python在导入时缓存模块这一事实。

如果您的数据很小、静态且不经常更改,只需将数据作为
dict
写入自己的模块中,然后在需要的地方导入,就可以获得最佳性能。这将利用Python将在导入时缓存模块这一事实。

正如Chris和其他人指出的那样,为了获得卓越的应用程序性能,Python dict是最好的

但是,如果您对数据存储查询造成的最小性能影响感到满意,那么我认为从设计和维护的角度来看,这是一种可行的方法。如果不接近配额限制,简单性优先于性能


我想你的是一个简单的应用程序到今天为止。但它会逐渐变得复杂。当您添加更多功能时,即使在短期内,在某个地方使用硬编码数据也会带来设计灵活性。将来可能会重写这些方面。

正如Chris和其他人指出的那样,为了获得更高的应用程序性能,python dict是最好的

但是,如果您对数据存储查询造成的最小性能影响感到满意,那么我认为从设计和维护的角度来看,这是一种可行的方法。如果不接近配额限制,简单性优先于性能


我想你的是一个简单的应用程序到今天为止。但它会逐渐变得复杂。当您添加更多功能时,即使在短期内,在某个地方使用硬编码数据也会带来设计灵活性。将来你可能会重写这些领域。

+1;避免反序列化JSON或解析XML的开销是一个好主意,尽管在某些情况下,以其中一种格式维护数据要容易得多;避免反序列化JSON或解析XML的开销是一个好主意,尽管在某些情况下,以其中一种格式维护数据要容易得多。人的时间/轻松与机器时间/轻松之间的平衡是很难做到的。但是,在谷歌应用程序引擎(google app engine)的案例中,它通过设计“奖惩”方案来强制执行性能和速度,似乎更倾向于性能。但我明白你们的意思,首先是快速开发,当一个应用程序变得值得花时间和精力时,我会担心性能调整和效率。这是一个很好的观点。人的时间/轻松与机器时间/轻松之间的平衡是很难做到的。但是,在谷歌应用程序引擎(google app engine)的案例中,它通过设计“奖惩”方案来强制执行性能和速度,似乎更倾向于性能。但我明白你们的意思,首先是快速开发,当一个应用程序变得值得花时间和精力时,我会担心性能调整和效率。