存储大型对象/阵列以进行归档、低访问和搜索的最佳方式


Best way to store large objects/arrays for archiving, low access and search?

我正在进行的项目从第三方API(如Facebook、Twitter等)收集数据。来自这些API的数据以对象或数组的形式返回,我们需要一种方法来归档这些数据,以备以后(几个月或更长时间后)通过PHP访问/读取/处理这些数据。

我曾考虑使用AWS的DynamoDB和json_encode对数组进行编码,并为每个"项目"创建一个记录(例如:Facebook上的一篇帖子,其中所有属性都是数组),但我不确定这是否是处理它的最佳方式。每天将有数千个"项目"被记录,我们确实需要在稍后返回并读取这些数据(通过PHP)的能力,同时仍然将数据归因于一些值,如用户帐户、项目ID(例如:Facebook粉丝页面ID、Twitter用户帐户等)和数据提取的时间戳,因此我们可以在必要时获取特定项目。

保存这些数据的最佳方式是什么,主要用于存档目的,同时在必要时保留查找特定数据的能力?我们需要快速(写入、读取/查询/搜索)和可扩展的东西,能够随着时间的推移处理大量数据。建议和示例的拟议解决方案将不胜感激。

一个很老的问题;然而,我想看看这个:https://sqlite.org/一定要看看它是为你设计的,因为我不确定它是否足够适合你的情况。