存储大型静态数据集

时间:2016-04-27 15:35:25

标签: node.js database postgresql sqlite heroku

我正在制作一个将地图数据存储为瓷砖的游戏。这些磁贴不会在发布时更改多次,因为生成它们的数据是版本化的,因此它们与服务器代码一样静态。

由于它们是静态的,我考虑在ram内存中使用SQLite数据库来存储它们。然而,随着游戏中瓦片的数量(可以获得高达10,000x10,000的地图),如果它被保存在内存中,它可能很容易就会占用千兆字节的内存(估计为15gb,10,000x10,000)图)。

我还考虑过创建一个sqlite数据库,并将其与其他代码一起进行版本控制。但我担心并发阅读。

但是,我觉得使用postgres数据库是不合适的,因为数据不会改变。

处理这样的数据问题的可接受方式是什么?

2 个答案:

答案 0 :(得分:0)

听起来您可能希望将其存储在类似S3的内容中(基本上,使用文件,但是已卸载到服务中,因此您的应用可以水平扩展)。

您可以直接管理S3,也可以通过https://elements.heroku.com/addons/filepicker

等插件管理

答案 1 :(得分:-1)

我最终选择Redis作为此问题的一般解决方案,特别是Heroku中的Redis Cloud应用程序,因为它允许在免费套餐中使用。