处理大型json文件

时间:2013-07-11 22:05:50

标签: python ruby database json

我有一个来自网络抓取项目的大型json文件,我已经做了一段时间了。现在我正在尝试使用JSON数据构建Web前端。不过,我很难搞清楚构建它的最佳方法。

json文件如下所示:

{ 
   "_id" : { "$oid" : "55d5c85a96cc6212bdd4ca08" }, 
   "name" : "Example", 
   "url" : "http://example.com/blahblah", 
   "ts" : { "$date" : 1073423706824 }
}

我有几个问题:

  1. json文件会被添加到加班时间,那么最好的解决方案是定期添加到数据库中,还是只将json文件保存在某个地方的云中并在需要时从中拉出来?

    < / LI>
  2. 如果我把它放在数据库中,我怎么能定期将它添加到数据库中,而不会减慢网站的前端?我知道我可以使用类似json_decode的东西,但我大多只看到几行json的例子,它可以用于更大的json文件吗?

  3. 如果我把它放在一个数据库中,关系数据库会更快/更有效吗?或类似mongodb?

1 个答案:

答案 0 :(得分:2)

在做了很多网络搜索之后,我会推荐自己:

  1. 决定您的关系数据库和非关系数据库。如果您的数据随着参数数量不断变化而不断变化,我建议使用MongoDB(因为它几乎是JSON并且完全没有模式,所以很容易添加新的方面)。如果您的数据格式相同,那么使用关系数据库是向前迈出的一大步。 PostgreSQL和MariaDB是很好的开源选项。

  2. 将您当前的JSON数据转换为所选的DB格式并插入。

  3. 开始直接搜索数据库,尝试不再使用JSON文件。

  4. 从数据库中读取前端。如果您选择Python,可以将flask视为一个不错的选择。

  5. 关于静态文件与数据库的一些深入解答,之前发布的Store static data in an array or in a database还有一个非常有趣的问题。

    如果您将静态文件排除在等式之外并使用数据库,则可以回答3个问题;

    1. 只需使用数据库。

    2. 添加到数据库很简单。一旦你完成了设置,你的刮刀就可以直接用相关的驱动程序写入。同样,不需要JSON文件。

    3. 这一切都取决于您的数据