0

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

  1. 它只有少量页面,主页,联系我们,关于,singup等。
  2. 每个用户都有一个基于 jquery 的页面,允许他们拖放/操作 DOM 元素。
  3. 当用户完成对元素的操作后,他们可以点击保存,元素会通过 JSON 发送到服务器上的 PHP 脚本。他们还可以加载以前保存的 JSON。

所以本质上是:很少有页面有 90% 的静态信息。一页有客户端工作,可能有很多 JSON 的 GET/POST。

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

现在我正在考虑可伸缩性,一个明显的问题是我应该将经常更改的 JSON 数据存储在 mySQL 中,还是应该使用 memcacheDB 或其他键值存储?您会选择简单的 mySQL 选项还是现在引入键值存储,或者您会等着看是否会出现规模问题?我真的会达到 mySQL 成为瓶颈的地步吗?

我打算先在 Slicehost 上托管它,然后在需要时移动它。

4

2 回答 2

1

就 JSON 而言,它不会产生影响:我看不出如何优化该数据的存储。我认为问题归结为“用户数据有多复杂?”。如果有一个与 RDBMS 外键相关的庞大社交图,并且很难将该数据映射到键值存储,我宁愿现在不花精力。但是,如果用户数据只是简单的个人资料信息,我宁愿现在转移到键值存储,而不是稍后,在我使用太多 RDBMS 功能之前。

于 2009-09-23T12:34:22.537 回答
1

问题是,是否会有任何基于这些值的查找?是否会在数据库级别更新特定值...如果您所做的只是提取整个字符串并且不需要查询或修改,序列化数据或 json 将会更快、更高效(存储方式)它。

但是,根据您的扩​​展方式,您可能希望保留键/值结构以及平面数据表示以用于查找目的。

还可以考虑使用 apache AB 进行一些基准测试,并了解您的更改如何影响并发输出。

祝你好运 :)

于 2009-09-23T17:48:53.750 回答