PostgreSQL与Django:我应该将静态JSON存储在单独的MongoDB数据库中吗?

时间:2019-01-24 14:46:28

标签: django database mongodb postgresql

上下文

我正在制作一个依赖于报废的API数据的Django Web应用程序。

工作流程:

A)我从外部API检索数据

B)在我的PostgreSQL数据库中插入结构化,经过处理的数据(约占整个JSON的5%)

我想添加第三步(在“ B”步骤之前或之后),它将把整个外部API响应存储在我的数据库中。出于三个原因:

1)我想“冻结”数据,以防API更改内容时发生“审核跟踪”(以前发生)

2)我公司中的API调用非常昂贵,并且通常只有6个月的历史。

3)我以后可能会决定从API集成更多数据。

由于2)和3),在需要数据时无法再次调用外部API

请注意,存储的API响应将从不更新,并且读取性能并不是很重要。而且,能够执行查询分析,能够查询存储的API响应非常好。

为了提供更多的上下文,每天有数千个API调用,它们代表每年 50GB的数据

这是我的问题

我应该将原始JSON存储在我用于Django Web应用程序的同一PostgreSQL数据库中,还是存储在单独的数据存储区(MongoDB或其他NoSQL数据库)中?

如果我要在PostgreSQL数据库中存储原始JSON,我担心我的Web应用程序性能会由于数据库“膨胀”而降低( 50Mb的已解析SQL数据我的Django数据库相当于来自外部API的2GB原始JSON ,因此在我的数据库中集成完整的API响应会将其大小乘以40)

费用如何?因为所有这些都托管在DBaaS上。我知道成本会大大增加(由于数据库的大小增加),但这两种选择中的任何一种是否更具成本效益?

谢谢!

0 个答案:

没有答案