我是否需要更多的系统资源来运行 DB2 而不是 MySQL?

Dan*_*lis 5 mysql db2 linux

我需要将我的 Web 应用程序从 MySQL 转换为在 DB2 上运行。我需要提前知道我是否需要一个高规格的服务器来确保 Web 应用程序的执行速度与现在在 MySQL 上的速度相同。

该应用程序是一个具有浏览器界面的数据库密集型数据分析应用程序。它现在只使用了大约 20% 的可用 CPU 功率和 30% 的服务器内存。如果转换为 DB2,是否需要更多的 CPU 或内存?我需要一个高规格的服务器吗?

我只是想知道如果其他一切都保持不变(数据库大小、流量等),是否需要升级服务器才能将 MySQL 转换为 DB2。

小智 4

我管理过 MySQL 和 DB2 数据库系统。一般来说,我认为 DB2 需要更多的内存和更多的管理。但有时,您可以使用 DB2 的复杂功能来执行更高效的查询。

关于内存和管理:DB2 不太擅长充分利用 RAM。您要么花费大量时间微调其内存配置,要么使用其自动内存配置(“STMM”)并接受它会浪费大量 RAM 的事实。DB2 还有许多其他小烦恼,这些小烦恼加起来就需要大量的管理。示例:如果您创建一个数据库,它不会在启动时自动“激活”,这意味着第一次连接到它将永远需要(脚本可以帮助您,但为什么- 哦 -为什么需要它)。

关于复杂的功能:如果您花费(可能很长)时间来研究一些 DB2 功能,例如仅索引扫描、OLAP 查询、语义查询优化(优化器有时可以利用表中定义的约束)、物化视图、等等,那么在某些情况下,与更简单的数据库系统相比,您可以使事情进展得更快几个数量级。如果/当您通过设计和查询使某些东西运行得更快时,您就可以减少对 CPU、RAM 和 I/O 的要求。

如果您有大量数据,那么您还需要考虑备份:您需要备份数据吗?如果是这样,数据库系统提供哪些选项?- 原本快速的系统并没有太多乐趣,它经常由于长时间运行和 I/O 饱和备份而受到阻碍。DB2 的备份+恢复有许多烦人的特性,但它也有一些有趣的特性,例如能够将数据拆分为热+冷数据(通过分离到表空间)、增量或增量备份等。上次我查看 MySQL 时,备份选项不太复杂。