担心新网站的可扩展性

时间:2009-09-23 12:06:18

标签: mysql json scalability slicehost memcachedb

我正在构建一个具有以下特征的webapp:

  1. 它只有少量页面,主页,联系我们,关于,单身等。
  2. 每个用户都有一个基于jquery的页面,允许他们拖放/操作DOM元素。
  3. 当用户完成对元素的操作后,他们可以点击Save并通过JSON将元素发送到服务器上的PHP脚本。他们还可以加载以前保存的JSON。
  4. 基本上:非常少的页面有90%的静态信息。一页有客户端工作,可能还有很多JSON的GETting / POSTing。

    我使用PHP / Smarty,jQuery和mySQL构建了一个POC。用户详细信息存储在mySQL中,JSON数据也是如此。网页由Smarty在磁盘上缓存。

    现在我正在考虑可伸缩性,显而易见的问题是我应该在mySQL中存储经常更改的JSON数据,还是应该使用memcacheDB或其他一些键值存储?您是否会选择简单的mySQL选项或现在引入键值存储,还是等待看是否出现规模问题?实际上,我是否会达到mySQL是瓶颈的程度?

    我打算在Slicehost上托管这个,然后根据需要移动它。

2 个答案:

答案 0 :(得分:1)

就JSON而言,它没有什么区别:我不知道如何优化该数据的存储。我认为这个问题归结为“用户数据有多复杂?”。如果有一个与RDBMS外键相关联的大规模社交图,并且将这些数据映射到键值存储太困难了,我现在宁愿不花费精力。但是,如果用户数据只是平面配置文件信息,那么在使用太多RDBMS功能之前,我宁愿转移到键值存储,而不是之后。

答案 1 :(得分:1)

问题是,是否会根据这些值进行查找?是否会在数据库级别对特定值进行更新...如果您所做的只是拉动整个字符串并且没有查询或修改的要求,则Serilaized数据或json将更快更有效(存储方式)它

根据您的缩放方式,您可能希望保留键/值结构以及平面数据表示以供查找。

另外,请考虑使用apache AB进行基准测试,并了解更改如何影响并发输出。

祝你好运:)