我应该将本地 JSON 数据库迁移到 MariaDB 吗?
Should I migrate local JSON database to MariaDB?
虚构的故事:
我有一个汽车网站,其中包含美国各地超过 200,000 辆汽车的列表。我从两个来源 CarSeats 和 CarsPro 获取每晚更新的数据。这两个来源都包含大约 100,000 个详细列表,每个列表都采用 JSON 格式。两个 feed 的文件大小约为 8GB,我计划在不久的将来合并更多二手车资源。
当前的JSON数据包含了我显示从汽车搜索到汽车购买的汽车信息所需的一切,然而,JSON数据库存储在本地,我使用PHP的file_get_contents()
为每个列表获取适当的元数据。 return 200 辆车大约需要 8 到 12 秒,这还不错,但我知道还有改进的余地。
我的问题:
将我的数据从本地化 JSON 文件迁移到 MariaDB 10.1 是否是最佳实践?这是未来可扩展的替代方案吗?
我的堆栈应该是什么样子才能提高速度和搜索能力?
注:
- Forge 在您启动的实例上安装 MariaDB。
- 8GB 被 "car make" 分成 20 多个不同的文件。没有单个文件大于 400MB。
目前正在使用
- Laravel 5.2
- 锻造
- PHP 5.6.10
- 来自 AWS 的服务器
Will migrating my data from localized JSON files to MariaDB 10.1 be a
best practice move? Is that the scalable alternative for the future?
What should my stack look like to improve speed and improve search
capabilities?
是的。数据库的全部目的是让像这样的数据在长期 运行.
中更容易存储和使用。
每次在 PHP 中加载 JSON 文件时,PHP 都必须解析数据,我非常怀疑包含 8GB 数据的 200,000 个列表是否会正常工作从文件系统加载到 PHP 内存中的文件。 PHP 很可能会在您尝试加载文件时死掉(又名:抛出错误)。在该低级状态下对 PHP 中的数据进行排序和操作效率更低。
将 JSON 数据存储在某种数据库中——MariaDB、MySQL、MongoDB 等——是处理此类问题的唯一实用和最佳实践方法.
任何人重复将本地 JSON 文件加载到 PHP 的主要原因是为了小测试和开发想法。在实际层面上,它是低效的,但是当你处于开发的早期阶段并且不想创建一个过程来将像这样的大型 JSON 文件导入到实际数据库中时,一个小的数据样本文件从您的开发人员的角度来看,散列基本概念和想法可能很有用。
但是完全没有“最佳实践”可以说明从文件系统读取文件是“最佳实践”;老实说,这是一个非常糟糕的主意。
您将需要 Apache Solr 来改进文本数据的搜索和处理。
好的一点是,您将能够使用 file_get_contents
来处理其查询,其查询结果默认为 JSON 格式。
虚构的故事:
我有一个汽车网站,其中包含美国各地超过 200,000 辆汽车的列表。我从两个来源 CarSeats 和 CarsPro 获取每晚更新的数据。这两个来源都包含大约 100,000 个详细列表,每个列表都采用 JSON 格式。两个 feed 的文件大小约为 8GB,我计划在不久的将来合并更多二手车资源。
当前的JSON数据包含了我显示从汽车搜索到汽车购买的汽车信息所需的一切,然而,JSON数据库存储在本地,我使用PHP的file_get_contents()
为每个列表获取适当的元数据。 return 200 辆车大约需要 8 到 12 秒,这还不错,但我知道还有改进的余地。
我的问题:
将我的数据从本地化 JSON 文件迁移到 MariaDB 10.1 是否是最佳实践?这是未来可扩展的替代方案吗? 我的堆栈应该是什么样子才能提高速度和搜索能力?
注:
- Forge 在您启动的实例上安装 MariaDB。
- 8GB 被 "car make" 分成 20 多个不同的文件。没有单个文件大于 400MB。
目前正在使用
- Laravel 5.2
- 锻造
- PHP 5.6.10
- 来自 AWS 的服务器
Will migrating my data from localized JSON files to MariaDB 10.1 be a best practice move? Is that the scalable alternative for the future? What should my stack look like to improve speed and improve search capabilities?
是的。数据库的全部目的是让像这样的数据在长期 运行.
中更容易存储和使用。每次在 PHP 中加载 JSON 文件时,PHP 都必须解析数据,我非常怀疑包含 8GB 数据的 200,000 个列表是否会正常工作从文件系统加载到 PHP 内存中的文件。 PHP 很可能会在您尝试加载文件时死掉(又名:抛出错误)。在该低级状态下对 PHP 中的数据进行排序和操作效率更低。
将 JSON 数据存储在某种数据库中——MariaDB、MySQL、MongoDB 等——是处理此类问题的唯一实用和最佳实践方法.
任何人重复将本地 JSON 文件加载到 PHP 的主要原因是为了小测试和开发想法。在实际层面上,它是低效的,但是当你处于开发的早期阶段并且不想创建一个过程来将像这样的大型 JSON 文件导入到实际数据库中时,一个小的数据样本文件从您的开发人员的角度来看,散列基本概念和想法可能很有用。
但是完全没有“最佳实践”可以说明从文件系统读取文件是“最佳实践”;老实说,这是一个非常糟糕的主意。
您将需要 Apache Solr 来改进文本数据的搜索和处理。
好的一点是,您将能够使用 file_get_contents
来处理其查询,其查询结果默认为 JSON 格式。