Несколько файловых систем для MySQL

Поддерживает ли mysql несколько файловых систем для одной базы данных, причем большинство таблиц находятся в MyISAM?

Контекст: у нас есть база данных MySQL 1,5 ТБ, которая увеличивается со скоростью 200 ГБ в месяц. К хранилищу прилагается напрямую, чьи слоты почти заполнены. Я могу добавить еще один DAS и увеличить файловую систему. Но изменение размера тома, файловой системы и т. Д. Становятся беспорядочными. Есть ли в мире MySql понятие "табличное пространство, файл данных" (как в oracle)?

Или как вы, ребята, справляетесь с mysql db с такими ограничениями?

4 ответа

Короткий ответ - нет". Сожалею.

Один из обходных путей, который я сделал, - это размещение файлов данных innodb на одном устройстве и каталога данных на другом. Это приводит к тому, что вы разбиваете таблицы innodb и myisam на разные хранилища. Но это не поможет вам в ситуации с одним гигантским столом.

Аналогично, родная функция разбиения 5.1 только разбивает таблицу на несколько файлов, но все они все еще живут в datadir.

Если вы ожидаете, что этот рост будет продолжаться до бесконечности, то нет никакого способа обойти это, вам нужно спроектировать уровень абстракции на нескольких серверах MySQL. Если вы думаете, что это сузится, вы, вероятно, можете избежать использования большого DAS или SAN начального уровня.

Это довольно запутанный вопрос. MySQL не поддерживает файловые системы, это работа операционной системы. Короче говоря, если ОС поддерживает определенную файловую систему и сама поддерживается MySQL, тогда MySQL будет успешно работать в этой файловой системе. Используемый механизм БД (MyISAM, Innodb и т. Д.) Не влияет на это вообще.

Вместо того, чтобы добавлять хранилище специальным образом, который вы описываете, вы должны немного откатиться назад и начать с фактического плана. Определите, сколько дискового пространства потребуется для этой БД, а затем настройте ее соответствующим образом, используя метод RAID, наиболее подходящий для использования БД.

С MySQL 5.1+ вы можете разделить на несколько дисков. Пока новое хранилище выглядит как логический диск, вы сможете использовать его для раздела.

Сложная часть, вероятно, будет состоять в том, чтобы понять, как логически разделить базу данных, чтобы вы не столкнулись с быстродействием хранения в будущем.

На самом деле, если ваша БД растет такими темпами, я бы, вероятно, искал большую систему хранения данных SAN или другую мультибайтную систему хранения, чтобы избежать необходимости обновления в течение длительного времени. Я не хотел бы манипулировать таким количеством данных очень часто. Нечто в диапазоне от 30 до 50 Тб будет длиться долго с вашей скоростью роста.

Я бы осквернил эту страшную вещь. в противном случае вам будет очень трудно создать резервную копию и особенно восстановить или, возможно, добавить индекс / столбец.

Другие вопросы по тегам