我们正在设置Web应用程序(目前正在启动)。 Web应用程序将在需要处理的JSON文件数量方面快速增长。我们可能正在讨论500万到1000万个文件。单个JSON文件不是特别大 - 可能在每个文件150K的区域内。不太可能同时访问文件,因此单个用户拥有一组单独的文件。
我想提出的问题就是如何最好地存储JSON文件。链接存储在关系数据库中的CDN最好吗?或者我应该跳上这个潮流并沿着NoSQL数据库的路线前进?或者也许还有其他我没想过的解决方案???
真正寻找一些好的建议,最好是有大型数据库经验的人。
非常感谢提前!!!!
马库斯
答案 0 :(得分:0)
我会考虑研究MongoDB,因为它已经将文档存储为json格式。 您也可以将它粘贴到常规关系数据库中,但是在mongo中使用json文档的好处是您将具有针对文档的查询功能,因此您不必总是加载整个文档。
答案 1 :(得分:0)
如果您只想快速访问一次写入多次读取类型的存储,那么您也可以考虑使用DBM。它快速,便宜,可靠。
假设您将压缩文件内容,JSON-ness可能是存储角度的非因素。
可靠性 - 你能容忍一些统计损失吗?如果没有,那么全部或全部数据库是唯一的选择。如果没有,基于文件系统的存储可能是一种替代方案。在整个数据完整性检查中,文件系统不像DB那样狂热。他们得到了更好的支持。服务文件更容易;但跟踪版本需要更多的设计时间。一个常见的模式是在文件系统中提供产品图像和其他附属品,同时将其他数据保存在rdbms中。
如果你考虑CDN - >然后关系数据库也可以考虑CDN - > {filesystem,inode},在文件数量方面明确保持文件系统平衡。
NoSQL数据库(如MongoDB)的重启和恢复时间可能超出容忍级别。否则它是一个很棒的工具。许多RDBMS都有原始分区支持,可以提供更好的IO。在150KB时,必须使用TEXT或CLOB字段,只是一个小麻烦。
HTH。如果你回复了你实际使用过的东西,我们将不胜感激。