我的网络应用上的用户每天产生大约10万个搜索请求(产品目录),每个请求包含搜索字词,类别ID,用户IP和时间戳。我有一个MySQL实例 - 没有复制或主/从设置。
我担心所有这些写操作都会影响应用程序的性能,只是想知道其他人如何使用类似的基础架构处理这种情况?
我已经考虑过在白天将日志写入一个简单的csv文件,然后在一个晚上,当网络流量非常少时,设置一个rake任务将这些记录导入适用的表格....这只是虽然没有“闻到正确”。
谢谢!
答案 0 :(得分:2)
从一开始就有几种常见的缩放模式。
首先,将系统拆分为2层:APP,DB。他们每个人都在独立的服务器上(云,vps,专用)。第二步是DB的水平扩展(从APP访问数据):写入主站,从从站读取。
实际上,你只需要开始研究它,然后你会有更多的问题什么是更好的,值得尝试的。
一些有用的资源:
答案 1 :(得分:0)
更多信息可能有所帮助,例如:服务器的配置是什么?你现在遇到问题还是担心它可能很快就会发生?即使您遇到一些问题,您当前的应用程序也应该支持您一段时间,因为您仍然在单个服务器上。 MySQL具有许多可以使用的良好复制功能。
此外,如果您要存储用于分析目的的搜索,您可以定期将它们移动到另一个专门用于数据挖掘目的的数据库服务器。
如果真的喜欢冒险并喜欢实施最新最好的技术,那么您可能需要调查NoSQL数据库。
对于高容量,大数据,现在很多人似乎都喜欢NoSQL数据库。 High Scalability博客有关于许多高流量真正受欢迎网站的架构的信息。