Answers:
水平缩放
水平缩放本质上是在扩展而不是向上扩展。您无需购买更大的功能更强的服务器并将所有负载移至该服务器上,而是购买额外的1台以上服务器并在其中分配负载。
当您能够同时在服务器上运行多个实例时,将使用水平缩放。通常,从1台服务器迁移到2台服务器要困难得多,而从2台迁移到5、10、50等则要困难得多。
解决了运行并行实例的问题后,您可以充分利用Amazon EC2,Rackspace的Cloud Service,GoGrid等环境,因为您可以根据需求启动和关闭实例,从而减少了为服务器功率付费的需求您不仅仅用来覆盖那些峰值负载。
关系数据库是并行运行完全读取/写入的更困难的项目之一。
我在奥斯汀的StackOverflow DevDays上看到Damien Katz谈到CouchDB,而他创建的主要重点之一就是这些并行实例。由于从第一天开始就一直是它的重点,因此它将更有能力利用水平缩放的优势。
垂直缩放
垂直缩放是相反的,建立而不是扩大。去购买您能负担得起的最强大的硬件,然后在其上放置应用程序,数据库等。
现实世界
当然,这两者都有其优点和缺点。通常,将这两种方法结合使用可得出最终解决方案。
您可能拥有主数据库,每个人都可以在大型硬件上写入和读取实时数据。然后分发只读的数据库副本,以进行更繁重的数据分析和报告,而最新情况却无关紧要。然后,前端Web应用程序可能正在负载平衡器后面的多个Web服务器上运行。
行业中某些人使用不同的术语来表示同一件事: