首页 > 解决方案 > 使用什么 JSON 文件或 SQL

问题描述

我想创建一个有 ajax 搜索的网站。它将从 JSON 文件或数据库中获取数据。我不知道使用哪种技术来存储数据。JSON 文件或 MySQL。根据一些快速研究,它将大约有 60000 个条目。因此,如果我使用 JSON,文件大小将在 30-50 MB 左右,如果使用 MySQL,则文件大小将有 60000 行。每种技术的局限性和好处是什么?

谢谢

标签: mysqljsonajax

解决方案


我似乎无法发表评论,因为我需要 50 个代表。发表评论,所以我将其作为答案:

出于多种原因,MySQL 会更受欢迎,其中最重要的原因是您不希望您的 Web 服务器进程对文件系统具有写访问权限(可能的日志记录除外),因为这是一种容易被利用的方法。

此外,MySQL 团队在复制、数据并发访问、ACID 合规性和数据完整性等方面投入了大量的工程精力。

想象一下,例如,如果您添加一个新字段,该字段在您存储的任何数据结构中都是必需的。如果您存储在 JSON 文件中,则必须有一些过程来打开每个文件,添加字段,然后保存它。将此与使用字段的 DEFAULT 值的 ALTER TABLE 的难度进行比较。(有点人为的例子,但是你想在你的代码库中留下多少黑客来处理旧数据?)所以说实话,MySQL 是一个数据库,而 JSON 不是,所以正确的答案是 MySQL,不加思索。JSON 只是一种语言,几乎没有。JSON 从未设计用于处理并发连接或任何类型的数据操作,因为它自己的功能是表示数据,而不是管理数据。

所以用 MySQL 来存储数据。然后,您应该使用某种编程语言来读取该数据库,并将该信息作为 JSON 发送,而不是实际将任何内容存储在 JSON 中。

如果您将数据存储在文件中,无论是 JSON 格式还是其他格式,您都会遇到各种各样的问题,自从数据库开始用于同一件事以来,人们已经不再担心这些问题了。大小限制,锁,命名它。拥有一个用户就足够了,但是当您添加更多用户时,您将开始解决很多问题,以至于您最终可能会编写一个完整的数据库引擎来为您处理文件,而一直在您可以简单地使用一个实际的数据库。请注意!不要认为我的话是理所当然的,我不是这个领域的专家,所以让其他人发表他们的答案,然后以此来判断。我认为stackoverflow上有足够多的人比我有更多的经验哈哈。这些不完全是我的话,


推荐阅读