用于大型数据集的REST API设计框架

时间:2017-08-09 14:00:11

标签: python json node.js django mongodb

我是初学者,我没有使用API​​和后端工作。 我在JSON中有大量数据,大约有100,000条记录(比如用户列表)。

我想实现RESTful API,通过它可以使用其中一个键(比如UserName)搜索特定记录。

JSON文件嵌套到2个级别。实现上述数据集的最佳方法是什么。由于记录很大,我不希望任何搜索时间问题。我可以拥有以下框架,因为我精通JS和Python -

使用NodeJS和MongoDB(我猜想MongoDB有map / reduce用于快速搜索)

将Django与Rest Framework和Relational数据库一起使用。

我应该为这个项目使用哪一个?

1 个答案:

答案 0 :(得分:1)

我建议使用Django Web framework来实现用户模型和数据存储,并使用Django REST framework插件来处理API请求。这是我的简短推理:

  • Django将处理身份验证,数据库模型和查询,这可能会为您节省大量时间,它将帮助您生成良好和安全的代码。
  • 在这种情况下,建议使用关系数据库,因为您似乎拥有结构良好的数据集。此外,100.000个条目实际上是一个足够小的数据集,关系数据库能够在没有任何问题的情况下处理这些数据集。事实上,即使它达到数百万,也不会有什么大不了的。
  • REST框架将帮助您快速构建支持pagination的API,如果您计划一次返回多个条目,这很重要。分页功能允许您为每个请求返回一小组值,保持响应时间短,并允许客户端在必要时获取更多数据(即下一个结果页面)。
  • REST框架还允许您指定客户端可以通过API的GET参数访问的searchordering属性。

总而言之,我认为使用像Django这样的框架起初可能会觉得有点过分,但是由于社区的大力支持和大量的插件,它可以让你编写一个在相对较好的情况下运行良好且可靠的API短时间。要开始使用Django,我强烈推荐使用getting started with Django指南。