mysql 的多个文件系统

mysql 的多个文件系统

mysql 是否支持单个数据库的多个文件系统,其中大多数表位于 MyISAM 上?

背景:我们有一个 1.5TB 的 mysql 数据库,该数据库以每月 200GB 的速度增长。存储是直接连接的,其插槽几乎已满。我可以添加另一个 DAS,并增加文件系统。但调整卷大小、调整文件系统大小等变得很混乱。MySql 世界中是否存在“表空间、数据文件”的概念(如在 oracle 中)?

或者你们如何管理具有这些限制的 mysql db?

答案1

简短的回答是“不”。抱歉。

我做过的一个解决方法是将 innodb 数据文件放在一个设备上,将数据目录放在另一个设备上。这种方法的效果是,将 innodb 和 myisam 表拆分到不同的存储中,但效果并不好。但是,在只有一张大表的情况下,这种方法对您没有帮助。

类似地,5.1 的本机分区功能仅将表分成多个文件,但它们仍然位于数据目录中。

如果您预计这种增长将无限期地持续下去,那就别无选择,您需要设计一个跨多个 mysql 服务器的抽象层。如果您认为它会逐渐减少,那么您可能可以使用大型 DAS 或入门级 SAN。

答案2

使用 MySQL 5.1+,您可以跨多个磁盘进行分区。只要新存储显示为逻辑驱动器,您就应该能够将其用作分区。

困难的部分可能是弄清楚如何对数据库进行逻辑分区,以便您将来不会很快遇到存储限制。

实际上,如果您的数据库以这种速度增长,我可能会寻找大型 SAN 或其他多 TB 存储系统,以避免长时间升级。我不想经常处理那么多数据。按照您的增长率,30 - 50Tb 范围内的数据可以使用很长时间。

答案3

这是一个相当令人困惑的问题。MySQL 不支持文件系统,这是操作系统的工作。简而言之,如果操作系统支持特定的文件系统,并且 MySQL 本身也支持该文件系统,那么 MySQL 就可以在该文件系统上顺利运行。使用的 DB 引擎(MyISAM、Innodb 等)对此完全没有影响。

您不应该以您描述的临时方式添加存储,而应该回溯一点并开始制定实际计划。计算出此数据库需要多少存储空间,然后使用最适合数据库使用方式的 RAID 方法进行相应设置。

答案4

我会把那个可怕的东西分片。否则,你将很难备份它,特别是恢复或者添加索引/列。

相关内容