MySQL是否支持MyISAM中大多数表的多个文件系统?
上下文:我们有一个1.5TB的mysql数据库,每月增加200GB。 存储是直接连接,其插槽几乎满。 我可以添加另一个DAS,并增加文件系统。 但是resize,调整文件系统大小等等都是一团糟。 在MySql世界中有没有“tablespace,datafile”的概念(如在oracle中)?
或者你们如何pipe理这些types的约束MySQL数据库?
最简洁的答案是不”。 抱歉。
我所做的一个解决方法是将innodb数据文件放在一个设备上,将数据块放在另一个设备上。 这是一个可怜的男人的方式分裂你innodb和myisam表在不同的存储空间的效果。 但是这并不能帮助你在一个巨人的情况下。
同样,5.1的本地分区function只能将表分成多个文件,但是它们仍然存在于数据目录中。
如果您预计这种增长将无限期地持续下去,那么您就需要在多个mysql服务器之间devise一个抽象层。 如果你认为它会缩减,你可能会逃脱一个大的DAS或入门级的SAN。
使用MySQL 5.1 +,您可以跨多个磁盘进行分区。 只要新存储显示为逻辑驱动器,您应该可以将其用于分区。
困难的部分可能是要弄清楚我们如何在逻辑上对数据库进行分区,以便将来不会很快陷入存储限制。
实际上,如果你的数据库正在以这个速度增长,我可能会寻找一个大的SAN或其他多TB存储系统,以防止长时间的升级。 我不想经常操纵这么多的数据。 30 – 50Tb范围内的某些东西可能会持续很长时间。
这是一个相当混乱的问题。 MySQL不支持文件系统,这是操作系统的工作。 简而言之,如果操作系统支持一个特定的文件系统,并且自己支持MySQL,那么MySQL将很乐意在该文件系统上运行。 使用的数据库引擎(MyISAM,Innodb等)根本不会影响到这一点。
而不是以专门的方式添加存储,您描述的应该回溯一下,并开始一个实际的计划。 计算这个数据库需要多less存储空间,然后相应地设置它,使用最适合数据库使用的RAID方法。
我会碎片那可怕的事情。 否则你将很难得到它的备份,特别是恢复或可能添加索引/列。