mysql - 使用什么 JSON 文件或 SQL
问题描述
我想创建一个有 ajax 搜索的网站。它将从 JSON 文件或数据库中获取数据。我不知道使用哪种技术来存储数据。JSON 文件或 MySQL。根据一些快速研究,它将大约有 60000 个条目。因此,如果我使用 JSON,文件大小将在 30-50 MB 左右,如果使用 MySQL,则文件大小将有 60000 行。每种技术的局限性和好处是什么?
谢谢
解决方案
我似乎无法发表评论,因为我需要 50 个代表。发表评论,所以我将其作为答案:
出于多种原因,MySQL 会更受欢迎,其中最重要的原因是您不希望您的 Web 服务器进程对文件系统具有写访问权限(可能的日志记录除外),因为这是一种容易被利用的方法。
此外,MySQL 团队在复制、数据并发访问、ACID 合规性和数据完整性等方面投入了大量的工程精力。
想象一下,例如,如果您添加一个新字段,该字段在您存储的任何数据结构中都是必需的。如果您存储在 JSON 文件中,则必须有一些过程来打开每个文件,添加字段,然后保存它。将此与使用字段的 DEFAULT 值的 ALTER TABLE 的难度进行比较。(有点人为的例子,但是你想在你的代码库中留下多少黑客来处理旧数据?)所以说实话,MySQL 是一个数据库,而 JSON 不是,所以正确的答案是 MySQL,不加思索。JSON 只是一种语言,几乎没有。JSON 从未设计用于处理并发连接或任何类型的数据操作,因为它自己的功能是表示数据,而不是管理数据。
所以用 MySQL 来存储数据。然后,您应该使用某种编程语言来读取该数据库,并将该信息作为 JSON 发送,而不是实际将任何内容存储在 JSON 中。
如果您将数据存储在文件中,无论是 JSON 格式还是其他格式,您都会遇到各种各样的问题,自从数据库开始用于同一件事以来,人们已经不再担心这些问题了。大小限制,锁,命名它。拥有一个用户就足够了,但是当您添加更多用户时,您将开始解决很多问题,以至于您最终可能会编写一个完整的数据库引擎来为您处理文件,而一直在您可以简单地使用一个实际的数据库。请注意!不要认为我的话是理所当然的,我不是这个领域的专家,所以让其他人发表他们的答案,然后以此来判断。我认为stackoverflow上有足够多的人比我有更多的经验哈哈。这些不完全是我的话,
推荐阅读
- iis - 无法访问 IIS 元数据库。您没有足够的权限访问您计算机上的 IIS 网站
- python - 调试python - 错误:没有指定主类?
- sql-server - 如何按日期容差对记录进行分组?
- javascript - 如何在 HTML 文件中使用 JavaScript 变量?
- python - 如何在 for 循环中捕获异常并仅在循环完成后返回异常?
- spring-boot - 在 Spring Boot 应用程序中将 web-application-type 设置为 none 时未发送电子邮件
- python - 如何在python中拆分字符串并只得到一个单词
- python - 数据框散点图上的关键错误
- python - 烧瓶错误处理程序未正确处理棉花糖 ValidationError
- r - 如何在 R 中求和多个不同维度的矩阵