大型数据驱动网站的架构

时间:2010-08-03 02:20:47

标签: database database-design architecture application-design

我知道如何创建小型数据驱动的网站,但想知道如何将它们转换为处理大数据流。

这些问题基于一个网站,其行为主要类似于堆栈溢出,craigslist等人们可以发布内容和其他人回复,并具有基于标签的基本搜索功能。

  1. SQL服务器,Oracle等常规关系数据库是否足以支持大量数据读写?

  2. 如果我在专用的单一服务器上托管了一个网站,我一般可以预期它会处理多少流量?

  3. 创建中到大型应用程序时是否需要考虑一般设计规则或问题?

4 个答案:

答案 0 :(得分:4)

  1. 有了良好的缓存策略和编写良好的SQL语句,任何RDBMS都应该足够了。

  2. 简短回答取决于。对这个主题进行了很好的讨论here

  3. 我建议您先查看this post。只需遵循基本的编码实践,将有助于提高代码的可扩展性。

答案 1 :(得分:2)

  1. 是的,但要明智地编写您的查询并使用缓存。
  2. 取决于硬件,操作系统和网络服务器。
  3. 查看3-tier architecture

答案 2 :(得分:1)

<#> Re#2:使用Siege或任何相关的网络基准测试工具--Apache ab,perfmon&amp; shell脚本,无论是什么都可以扼杀服务器并报告它(Siege的行为有点像真正的用户,真的推荐它)。您将能够获得一些真实的指标,说明服务器在真实存在之前可以处理的内容:每秒请求数,并发用户数,响应时间数,带宽使用情况等。

当你只处于设计阶段时,这对你来说无济于事。在这种情况下,安装一些具有类似概念的OSS Web应用程序并首先进行锤击。它只是一个粗略的估计,因为有很多变量,但仍然比从空中拉数字更好。

答案 3 :(得分:0)

其他两个人已经打败了我的缓存和SQL查询建议。我建议的其他方法是使用AJAX和客户端验证来减少整页加载和服务器回发的数量。