Lazer Asked: 2011-08-10 11:18:08 +0800 CST2011-08-10 11:18:08 +0800 CST 2011-08-10 11:18:08 +0800 CST 水平缩放是什么意思? 772 在数据库环境中,我发现水平可扩展性是 NOSQL 数据库的优势之一。这个词是什么意思? 维基百科上的 CouchDB 维基百科上的 NoSQL 与垂直缩放相比如何? terminology nosql 4 个回答 Voted Best Answer ManiacZX 2011-08-10T12:02:13+08:002011-08-10T12:02:13+08:00 水平缩放 水平缩放本质上是向外扩展而不是向上扩展。您不会去购买更大更强大的服务器并将所有负载转移到上面,而是购买 1+ 台额外的服务器并在它们之间分配负载。 当您能够同时在服务器上运行多个实例时,使用水平扩展。通常,从 1 台服务器升级到 2 台服务器要比从 2 台服务器升级到 5 台、10 台、50 台等要困难得多。 一旦解决了运行并行实例的问题,您就可以充分利用 Amazon EC2、Rackspace 的云服务、GoGrid 等环境,因为您可以根据需要启动和关闭实例,从而减少为服务器电源付费的需求您不只是用来覆盖那些峰值负载。 关系数据库是并行运行完全读/写的更困难的项目之一。 我看到 Damien Katz 在奥斯汀的 StackOverflow DevDays 上谈到 CouchDB,他创建 CouchDB 的主要关注点之一就是这些并行实例。由于这是从第一天开始就关注的焦点,因此它将更有能力利用水平缩放。 垂直缩放 垂直缩放则相反,建立而不是向外。去买你能买得起的最强大的硬件,把你的应用程序、数据库等放在上面。 现实世界 当然,这两者都有其优点和缺点。通常这两者的组合用于最终解决方案。 您可能拥有您的主数据库,每个人都可以在其中写入和读取大型硬件上的实时数据。然后分发数据库的只读副本,以进行更重的数据分析和报告,而最新的数据并不重要。然后前端 Web 应用程序可能在负载均衡器后面的多个 Web 服务器上运行。 Suman 2012-04-06T10:30:54+08:002012-04-06T10:30:54+08:00 当您需要一个需要处理大量写入和并行读取的应用程序时,水平扩展非常有用。想想一个获得大量流量并需要记录的网站,或者需要记录大量事件。 我想最大的优点是水平缩放可以使用商品硬件来完成,而垂直缩放和尝试使现有的盒子更大,你可以做的只有这么多。 传统的 RDBMS 在这里失败的原因有很多(包括它们是 ACID 的事实),而 NoSQL 解决方案在这里表现出色,因为它们可以很容易地水平扩展 - 但这是另一回事(RDBMS/SQL 与 NoSQL。) Toddius Zho 2012-10-05T11:56:28+08:002012-10-05T11:56:28+08:00 业内一些人使用不同的术语来表示同一件事: 放大 = 垂直缩放 向外扩展 = 水平缩放 Syed Amir Raza 2021-02-12T00:53:04+08:002021-02-12T00:53:04+08:00 让它更容易理解。NO SQL DB 意味着没有 JOIN,这意味着您的列数保持不变,这意味着您所关心的只是数据的数量,即行数,这意味着水平增长或缩放。
水平缩放
水平缩放本质上是向外扩展而不是向上扩展。您不会去购买更大更强大的服务器并将所有负载转移到上面,而是购买 1+ 台额外的服务器并在它们之间分配负载。
当您能够同时在服务器上运行多个实例时,使用水平扩展。通常,从 1 台服务器升级到 2 台服务器要比从 2 台服务器升级到 5 台、10 台、50 台等要困难得多。
一旦解决了运行并行实例的问题,您就可以充分利用 Amazon EC2、Rackspace 的云服务、GoGrid 等环境,因为您可以根据需要启动和关闭实例,从而减少为服务器电源付费的需求您不只是用来覆盖那些峰值负载。
关系数据库是并行运行完全读/写的更困难的项目之一。
我看到 Damien Katz 在奥斯汀的 StackOverflow DevDays 上谈到 CouchDB,他创建 CouchDB 的主要关注点之一就是这些并行实例。由于这是从第一天开始就关注的焦点,因此它将更有能力利用水平缩放。
垂直缩放
垂直缩放则相反,建立而不是向外。去买你能买得起的最强大的硬件,把你的应用程序、数据库等放在上面。
现实世界
当然,这两者都有其优点和缺点。通常这两者的组合用于最终解决方案。
您可能拥有您的主数据库,每个人都可以在其中写入和读取大型硬件上的实时数据。然后分发数据库的只读副本,以进行更重的数据分析和报告,而最新的数据并不重要。然后前端 Web 应用程序可能在负载均衡器后面的多个 Web 服务器上运行。
当您需要一个需要处理大量写入和并行读取的应用程序时,水平扩展非常有用。想想一个获得大量流量并需要记录的网站,或者需要记录大量事件。
我想最大的优点是水平缩放可以使用商品硬件来完成,而垂直缩放和尝试使现有的盒子更大,你可以做的只有这么多。
传统的 RDBMS 在这里失败的原因有很多(包括它们是 ACID 的事实),而 NoSQL 解决方案在这里表现出色,因为它们可以很容易地水平扩展 - 但这是另一回事(RDBMS/SQL 与 NoSQL。)
业内一些人使用不同的术语来表示同一件事:
让它更容易理解。NO SQL DB 意味着没有 JOIN,这意味着您的列数保持不变,这意味着您所关心的只是数据的数量,即行数,这意味着水平增长或缩放。