【问题标题】:Using JSON in server vs Database (Pros/Cons)在服务器与数据库中使用 JSON(优点/缺点)
【发布时间】:2020-01-16 18:23:54
【问题描述】:

我不知道我们是否允许提出这类问题,但我需要一些建议。

我有什么

我正在创建一个 JSON 格式的数据集,大小约为 3.5 到 5 mb。 在这个单一的 json 中有 5k - 10k 个具有 20 个字段的对象。

我将如何使用这个数据集

基本上,我将在特定页面中呈现特定对象。

www.site.com/:id (GET)

根据对象的其中一个字段排序并呈现前 100 个列表(例如在一行中显示该对象的 5 个字段)

www.site.com/list?sort_by={field_name} (GET)

问题

我是否需要创建一个 noSQL 数据库,或者我可以将这个 json 放在我的服务器中并直接在后端访问那个数据库? 我从来没有做过这种事情,但我正在考虑这个项目,因为数据集总是相同的(静态)我总是需要读取该数据(没有 POST、PUT、DELETE 等)这就是为什么在服务器上有 json 有意义对我来说,但我想问我是否遗漏了什么。

另外,我对带宽或网络的工作方式知之甚少。在这种方法中,我们不会将这个 5 mb 的文件发送给客户端,对吧? (即使客户端也只需要在整个数组中有一个对象,它有 10k 个对象)

或者我们的服务器是否有任何性能问题?因为如果我把这个 json 放在服务器中,我会像这样使用它:

let data = require('./data/main.json')

app.get('/:id', (req, res) => {
    const id = req.params.id
    const obj = data.find(d => d.id === id)
    res.status(200).json(obj)
})

【问题讨论】:

    标签: node.js json database server


    【解决方案1】:

    使用数据库还有其他好处,例如能够轻松创建文件备份、从其他设备访问数据库以及提供分析。虽然您可以在您的情况下使用 JSON 文件,但我强烈建议使用 MongoDB 作为 NoSQL 数据库和 mongoose 作为 ORM。这基本上就像使用 JSON 一样,但从长远来看绝对是更好的体验和更好的体验。

    【讨论】:

      【解决方案2】:

      你可以使用 Mongodb 或 Mongoose 来做到这一点,因为 mongo 基本上是将你的数据存储为 json 格式,好处是 json 读取速度非常快,并且非常易于处理和使用。

      【讨论】:

      • 感谢您的回答,我知道并且我一直使用 mongo 作为 NoSql 数据库,但我的问题是,如果我不使用任何数据库,我会损害我的系统吗?很遗憾,您的消息正在回答另一个问题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-25
      • 1970-01-01
      • 2013-07-06
      • 1970-01-01
      • 1970-01-01
      • 2019-12-18
      • 2011-11-12
      相关资源
      最近更新 更多