【发布时间】:2019-07-31 23:02:38
【问题描述】:
对这个问题的广泛性表示歉意,但寻求一些建议。
我在 Laravel 中构建了一个系统。用户可以上传文件。然后将该文件发送到对其进行一些数据科学处理的系统。它以 JSON 字符串的形式将响应发送回我的系统,然后我将其保存回 JSON 文件。然后将该文件加载到前端,以便显示一些图表。
在大多数情况下,这种方法都很好。但是,当我上传非常大的文件(这很好,因为我是块上传)时,保存的 JSON 文件会很大。这会成为一个问题,因为它对于前端加载来说太大了。一个文件可以包含数十万行数据。
所以我的问题实际上是关于我还有哪些其他选择。不是将响应保存为 JSON 文件,而是可以将这 300k+ 行保存到 mySQL 数据库中,还是它无法处理?我应该改用 MongoDB 之类的东西吗?
我认为数据库可能是最好的途径,因为我可以查询每个图表所需的特定数据,而无需加载一个巨大的文件来提取它。我确实使用了文件中的其他数据,但这可以在事件中查询,因此不必担心。
我担心的是,如果只有 3 个人上传一个文件,我就可以拥有一个包含超过一百万行的数据库。然后如何扩展它,如何确保使用系统的用户越多,我就不会遇到问题?
对此的任何建议将不胜感激。我开始认为我可能需要为每个用户部署一个数据库服务器并每 X 天自动修剪他们的数据。
谢谢
【问题讨论】:
-
MySQL 中的 JSON 列怎么样?您是否考虑过使用 Postgres 作为替代方案,因为它具有非常深入的 JSON 支持?与任何现代数据库一样,通常没有“MySQL 无法处理太多”这样的事情。有一种说法是“你的硬件配置和/或服务器调优太多了”。
-
需要更多关于数据的细节。
标签: mysql database mongodb performance