AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 102179
Accepted
Evgeni Reznik
Evgeni Reznik
Asked: 2015-05-22 09:16:40 +0800 CST2015-05-22 09:16:40 +0800 CST 2015-05-22 09:16:40 +0800 CST

为什么垂直扩展很昂贵?

  • 772

正如您可以在此处找到水平应用程序缩放的最佳实践,垂直缩放比水平缩放要昂贵得多:

垂直扩展成本呈指数增长,而水平扩展成本是线性的。

为什么会这样?
垂直扩展意味着“为现有机器增加更多功率”,而水平扩展意味着“增加更多机器”。

在我看来,升级现有机器应该更便宜,因为一些部件已经存在,你只需要购买额外的处理器、内存等,而购买全新的机器应该会导致更高的成本。

database-design scalability
  • 3 3 个回答
  • 2714 Views

3 个回答

  • Voted
  1. Best Answer
    datagod
    2015-05-22T09:30:57+08:002015-05-22T09:30:57+08:00

    在某些情况下(也许是大多数情况下),服务器在物理上已经满负荷。CPU 数量的增加需要更换主板。将 RAM 添加到现有服务器可能会很昂贵,具体取决于服务器的使用年限。使用超过 5 年且从经销商处采购的内存模块可能非常昂贵。

    这意味着从 8 处理器的 32GB RAM 升级到 64 处理器的 128GB 将需要购买全新的服务器来替换旧服务器。从数据库/应用程序的角度来看,这仍然是垂直扩展。支持这么多 CPU 的服务器可能比每台 8 个 CPU 的 7 台服务器贵得多(将原来的服务器保留为第 8 个)。

    根据 mustaccio 的评论:高端硬件不仅仅是更多的处理器和 RAM;设计硬件以支持数十个多核处理器的吞吐量和电源/冷却要求绝非易事。因此,一台 256 核 2TB RAM 服务器可能要花费 150000 美元,这比 64 台 4 核 32GB 商用服务器贵一个数量级。

    • 5
  2. usr
    2015-05-22T12:44:37+08:002015-05-22T12:44:37+08:00

    在扩大规模时,您需要购买小批量大容量零件。小批量是昂贵的,因为开发成本可以摊销得更少。世界上很少有系统有 16 个插槽。

    此外,供应商将对大容量零件的需求视为您通过该系统获得大量收入的迹象。然后,假设您会付款,他们会增加利润。一些客户每购买 1 美元的硬件就可以赚取 2 美元的收入。有些人每 1 美元的硬件赚 100 美元。理性的供应商会向每单位硬件赚更多钱的客户收取更高的价格。扩大规模是区分客户并使他们中的一些人支付其他人无法容忍的更高利润的一种方式。

    也就是说,一些扩大规模是成本效益中性的。我是否购买 1、2 或 4 个插槽可能对价格/吞吐量没有太大影响。

    • 1
  3. uberrebu
    2022-07-14T04:16:20+08:002022-07-14T04:16:20+08:00

    到2022 年,垂直扩展当然应该是一个可行的选择,具体取决于项目要求。例如,可以在戴尔 R940 中获得 4 插槽服务器,例如每个 CPU 使用最新的英特尔可扩展 CPU,可以实现 112 个内核/224 个线程、15 TB 内存和 32 个 ssd/nvme 驱动器。我没有看到垂直缩放的任何问题。没有多少数据库会全部使用这个规范。我们现在也有百万 IOPS 的 nvme 驱动器,并且每秒推送几 GB。

    戴尔 poweredge 940xa

    • 0

相关问题

  • 过滤索引是否有助于改进基于输入时间的查询,还是应该避免这种情况?

  • MySQL VARCHAR 和 TEXT 数据类型有什么区别?

  • 存储计算值或根据要求重新计算它们更好吗?[复制]

  • 存储与计算聚合值

  • 在数据仓库中实现多对多关系有哪些方法?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve