Как большой является слишком большим для ibdata файла?

Если Вы ищете систему с открытым исходным кодом в Java, смотрите на OpenNMS. Это не используется так широко как Nagios, но имеет довольно хорошую репутацию.

9
задан 18 April 2012 в 18:13
2 ответа

Когда это может быть проблемой

Если вы запустите , покажите состояние таблицы в таблице, и поле Data_free составит подавляющее большинство размер вашего файла ibdata1 , тогда у вас может быть много потерянного места. Большая часть вставки / удаления сделает это проблемой. Если это так и временные вставки и удаления составляют основную часть ваших данных, тогда у вас есть хороший случай для файла на таблицу.

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

Почему обычно это не так? та проблема

Думайте о вашем файле InnoDB как о файловой системе, а не как о файле. Если у вас много файлов, вам понадобится большая файловая система.

По большей части файловые системы отлично справляются с масштабированием для обработки терабайтов данных и неисчислимого количества файлов. Иногда они сталкиваются с проблемами из-за плохой индексации (например, ограничение количества файлов в каталоге до снижения производительности), но по большей части современная файловая система может сильно отличаться от терабайтного диапазона.

InnoDB работает так же. путь. Размер вашего файла данных может быть огромным ... и, как и большие файловые системы, может создавать проблемы с резервным копированием ваших данных. Однако, как разделение вашей файловой системы на несколько разделов не помогает с этой проблемой, так и попытки манипулировать innodb. Хотя вы можете использовать innodb_file_per_table , Я редко рекомендую это.

Как и ваша файловая система, лучший ответ - знать внутренние ограничения и работать в них. Изучите индексы и применяйте их соответствующим образом. Не пытайтесь разделить InnoDB, это не предназначено для этого.

Поскольку я изо всех сил пытаюсь конструктивно передать концепцию, вот краткое прочтение, что слова это лучше, чем я могу: Терабайты - это не большие данные, петабайты - это .

Я помню действительно очень старый маркетинговый слайд MySQL, где заказчик запускал хранилище данных с несколькими терабайтами. Много лет назад. InnoDB или MyISAM, оба будут работать. Это стандартный набор MySQL.

Не беспокойтесь о базе данных 15 ГБ.

Изучите индексы и примените их соответствующим образом. Не пытайтесь разделить InnoDB, это не предназначено для этого.

Поскольку я изо всех сил пытаюсь конструктивно передать концепцию, вот краткое прочтение, что слова это лучше, чем я могу: Терабайты - это не большие данные, петабайты - это .

Я помню действительно очень старый маркетинговый слайд MySQL, где заказчик запускал хранилище данных с несколькими терабайтами. Много лет назад. InnoDB или MyISAM, оба будут работать. Это стандартный набор MySQL.

Не беспокойтесь о базе данных 15 ГБ.

Изучите индексы и применяйте их соответствующим образом. Не пытайтесь разделить InnoDB, это не предназначено для этого.

Поскольку я изо всех сил пытаюсь конструктивно передать концепцию, вот краткое прочтение, что слова это лучше, чем я могу: Терабайты - это не большие данные, петабайты - это .

Я помню действительно очень старый маркетинговый слайд MySQL, где заказчик запускал хранилище данных с несколькими терабайтами. Много лет назад. InnoDB или MyISAM, оба будут работать. Это стандартный набор MySQL.

Не беспокойтесь о базе данных 15 ГБ.

Я помню действительно очень старый маркетинговый слайд MySQL, где заказчик использовал хранилище данных с несколькими терабайтами. Много лет назад. InnoDB или MyISAM, оба будут работать. Это стандартный набор MySQL.

Не беспокойтесь о базе данных 15 ГБ.

Я помню действительно очень старый маркетинговый слайд MySQL, где заказчик управлял хранилищем данных с несколькими терабайтами. Много лет назад. InnoDB или MyISAM, оба будут работать. Это стандартный набор MySQL.

Не беспокойтесь о базе данных 15 ГБ.

13
ответ дан 2 December 2019 в 22:23

Файлы ibdata не сжимаются - если вы недавно сбросили несколько таблиц или удалили много строк - innodb в вашей конфигурации не освободит свободное пространство обратно в файловую систему. я бы посоветовал вам:

  • сделать резервную копию всех ваших данных, например, с помощью mysqldump
  • добавить в my.cnf директиву innodb_file_per_table
  • перезапустить mysql
  • удалить все базы данных с помощью механизма innodb
  • остановить mysql
  • удалить файл ibdata
  • rm ib_logfile [01]
  • запустите mysql, проверьте системный журнал, если все в порядке
  • перезагрузите дамп

таким образом, вы сможете освободить место всякий раз, когда вы удаляете таблицу / базу данных innodb - связанные файлы idb будут немедленно удалены.

6
ответ дан 2 December 2019 в 22:23

Теги

Похожие вопросы