mysql - Rails 2.3 - 将大量搜索数据保存到 MySQL 的最有效方法是什么?

标签 mysql ruby-on-rails

我的网络应用程序上的用户每天生成大约 10 万个搜索请求(产品目录),每个请求都包含一个搜索词、类别 ID、用户 ip 和时间戳。我有一个 MySQL 实例 - 没有复制或主/从设置。

我担心所有这些写入都会影响应用程序的性能,只是想知道其他人如何使用类似的基础架构处理这种情况?

我考虑过白天将日志写入一个简单的 csv 文件,然后在晚上,当网络流量非常少时,设置一个 rake 任务以将这些记录导入适用的表....这只是不过“闻起来不对劲”。

谢谢!

最佳答案

从头开始扩展有几种常见的模式。

首先,将您的系统分为两层:APP、DB。他们每个人都在独立的服务器上(云、vps、dedic)。第二步是DB的横向扩展(从APP获取数据):写入master,从slave读取。

实际上,您只需要开始研究它,然后您就会有更多的疑问什么更好,什么值得尝试。

一些对您有用的资源:

关于mysql - Rails 2.3 - 将大量搜索数据保存到 MySQL 的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7488630/

相关文章:

ruby-on-rails - Rails 5 无法存储在数据库中

ruby-on-rails - ruby on Rails 的设计是否考虑到了整页刷新

php - 显示记录的性能问题

mysql - 从每月更新每日表中的一条记录

php - 使用php从mysql请求mp3音频文件

php - 用户名密码哈希/sha1() 函数不起作用

mysql - 如何在 MySQL 中重置 AUTO_INCREMENT

ruby-on-rails - ruby rails : Properly creating a model instance that has relation to multiple models

html - Rails field_error_proc 覆盖搞乱 html 结构

ruby-on-rails - 为什么/何时检查 Object.persisted?与 Object.save