水平缩放是什么意思?

Laz*_*zer 23 nosql terminology couchdb scalability

在数据库上下文中,我发现水平可扩展性是 NOSQL 数据库的优势之一。这个词是什么意思?

垂直缩放相比如何?

Man*_*cZX 24

水平扩展
水平扩展本质上是扩大而不是扩大。您不会去购买更强大的服务器并将所有负载转移到它上面,而是购买 1+ 个额外的服务器并在它们之间分配负载。

当您能够在服务器上同时运行多个实例时,使用水平扩展。通常,从 1 台服务器到 2 台服务器要困难得多,然后是从 2 到 5、10、50 台等。

一旦您解决了运行并行实例的问题,您就可以充分利用 Amazon EC2、Rackspace 的云服务、GoGrid 等环境,因为您可以根据需要启动和关闭实例,从而减少支付服务器电源费用的需要你不只是用来覆盖那些峰值负载。

关系数据库是并行运行完全读/写的更困难的项目之一。

我在奥斯汀的 StackOverflow DevDays 上看到 Damien Katz 谈到 CouchDB,他创建 CouchDB 的主要重点之一就是这些并行实例。由于这从第一天起就一直是它的重点,因此它能够更好地利用水平缩放。

垂直缩放
垂直缩放是相反的,增加而不是向外。去买你能买得起的最强大的硬件,然后把你的应用程序、数据库等放在上面。

真实世界
当然,这两者都有其优点和缺点。通常这两者的组合用于最终解决方案。

您可能拥有主数据库,每个人都可以在其中写入和读取大型硬件上的实时数据。然后分发数据库的只读副本,以进行更繁重的数据分析和报告,其中最新信息并不重要。然后前端 Web 应用程序可能在负载均衡器后面的多个 Web 服务器上运行。

  • Oracle 的 RAC 是传统 RDBMS 中水平扩展的一个例子。 (2认同)