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 / 问题 / 226134
Accepted
uberrebu
uberrebu
Asked: 2019-01-03 01:36:32 +0800 CST2019-01-03 01:36:32 +0800 CST 2019-01-03 01:36:32 +0800 CST

垂直缩放对于 mysql 数据库服务器来说是个好主意吗?

  • 772

我操作一个 mariadb/mysql 数据库服务器,我不想陷入管理多集群数据库服务器的问题,我可以在需要时访问巨大的 CPU 和 RAM 和 STORAGE

所以我对经验丰富的专家数据库管理员的问题是垂直扩展是否足够好?是的,只要数据受到保护,停机时间就可以了我宁愿处理一些系统故障或很少发生的问题的停机时间......这比管理多集群数据库让我头疼要好

那么我在运行高达 512GB 内存和 128vCPU 的数据库时会遇到什么瓶颈?喜欢 2TB 的 SSD 存储?

这比假设像一个 8 个 mariadb/mysql 数据库集群那样运行,每个 64GB 内存,16vCPU 和 256GB SSD 存储更糟糕吗?

是的,我知道 iops,但我的意思是有很多 redis 缓存,我认为也可以减轻那部分的压力

几乎有越来越强大的 CPU 和服务器,一个人可以在一台机器上打包很多东西……不像几年前那样不可能或至少不容易……现在一个人可以打包几个 TB,TB(不是单个机器中的内存错字)

请发送您的建议和提示谢谢!

mysql optimization
  • 1 1 个回答
  • 662 Views

1 个回答

  • Voted
  1. Best Answer
    Rick James
    2019-01-03T19:57:18+08:002019-01-03T19:57:18+08:00

    “你不能把硬件扔给性能问题。” 或者,更确切地说,你不能这样做两次。

    • CPU 速度在 20 年内没有显着变化。
    • 核心数量增加,但 InnoDB 在使用所有核心之前总是遇到障碍。
    • SSD 是对 HDD 的重大改进,但下一次飞跃还没有出现。
    • 更大的 RAM(因此 buffer_pool)进入“收益递减”。
    • 以太网每隔一段时间就会“加速” 10 倍。
    • 填满 PB 磁盘需要数年时间;你不想在那之前读取数据吗?
    • 等等

    一个技巧是通过拥有多个 VM 来虚拟化一大块铁,每个 VM 运行一个 MySQL 实例。这会在单个“垂直”缩放的服务器上进行“水平”缩放。这至少有助于我提到的砖墙。但是你会遇到一个巨大的、代价高昂的单点故障。

    我通常的回答是“让我们看看我们是否可以更智能地编程”。

    一个反复出现的例子是数据仓库。DBA 来到这个(和其他)论坛抱怨他们的“报告”(一大堆SELECT)GROUP BY花费的时间太长了。我指出了摘要表的优点——10 倍的加速,10 倍的磁盘占用空间。噗,问题解决了。 任何硬件升级都不可能达到 10 倍。

    复制提供了近乎无限的、近乎线性的读取缩放。

    分片(水平缩放)提供了近乎无限的缩放,几乎是线性的,但它并不适用于所有应用程序。

    我在 Vertical 中看到的最好的是添加足够的 RAM 以将 I/O 绑定查询转换为在 buffer_pool 中运行的 CPU 绑定查询。我经常看到 10 倍的改进。 但这是一次性的改进。也就是说,添加更多的 RAM 将无济于事。

    因此,对于您的标题问题,我坚决反对。
    好的,Vertical 可能会有所帮助,但要注意它的局限性。

    • 1

相关问题

  • 是否有任何 MySQL 基准测试工具?[关闭]

  • 我在哪里可以找到mysql慢日志?

  • 如何优化大型数据库的 mysqldump?

  • 什么时候是使用 MariaDB 而不是 MySQL 的合适时机,为什么?

  • 组如何跟踪数据库架构更改?

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