powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / База с большим количеством таблиц
8 сообщений из 8, страница 1 из 1
База с большим количеством таблиц
    #32868799
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подумал я, что логичней будет тут этот вопрос задать..)
Недавно пришлось восстанавливать базу с ~50k таблиц, столкнулся с некоторыми граблями, например myisamchk *.MYI затыкался с диагностикой "Arguments line too long" (мб переврал, но суть такая), ну это ладно, это я обошёл...
Хуже то, что база с таким количеством таблиц стала довольно неповоротливой и тормозной. Вероятно, в немалой степени из-за тормозов файловой системы, ls -l | wc -l для этой директории со 150к файлов отрабатывал секунд по 15.
Насколько я помню из документации, MySQL поддерживает фишку с использованием сырого раздела вместо файловой системы под хранилище данных. Возможно, в таком случае этот вариант предпочтительней. Вот и хотелось бы узнать у тех, кто этим пользовался, насколько шустро оно бегает для баз с подобным количеством таблиц?
...
Рейтинг: 0 / 0
База с большим количеством таблиц
    #32868936
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
Вопрос-то, кстати, был о том, что делать, если база _должна_ содержать столько таблиц?Перепроектировать наконец по уму. Учитывая этосли говорится, что пользоваться базой будут 2-3 клиента, а потом оказывается, что десятки тысячмогу лишь сказать, что врядли заводить на каждого клиента по паре баз было разумным решением.Спасает ли от этого использование не файловой системы, а raw partition под хранилище?Врядли в подобной ситуации поможет что-то отличное от перепроектирования. Или запаса оперативки, превышающего объём БД раза в два-три. Могу ошибаться.
...
Рейтинг: 0 / 0
База с большим количеством таблиц
    #32868950
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, стоп...
Какая связь между количеством таблиц в базе и количеством оперативки?
То есть она, несомненно, есть, но вряд ли такова, что если вся база целиком в память не влазит -- уже ничего не поможет.
Кстати база-то вся весила метров 100-120, так что влазить она влазит, по идее.
И прошу заметить, вопрос не о том, кто виноват, и даже не что делать...
Вопрос о влиянии способа хранения информации базы на физическом носителе: использования файловой системы ОС, и собственных возможностей MySQL хранения на неформатированном разделе: есть ли выигрыш от второго для базы с большим количеством таблиц? Значителен ли он, или составляет единицы процентов?
Поясню ситуацию: я не разработчик этой базы, я админ хостинга, где она размещается. По понятным причинам я не занимаюсь перепроектированием всех размещённых на серверах БД. В случае грубых ошибок, препятствующих корректной работе базы, или сильно её замедляющей, я могу указать на эти проблемы разработчикам. Но нельзя исключать, что в какой-то момент мне потребуется разместить базу с, скажем, 50к таблиц. Поэтому я пытаюсь выяснить, есть ли какие-то варианты для MySQL для работы с такой базой, или же сразу смотреть что-то другое, в таком случае.
...
Рейтинг: 0 / 0
База с большим количеством таблиц
    #32868961
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
Ну раз такие помидоры, то мне бы самому было интересно услышать, что поэтому поводу скажут гуру. По поводу оперативки - там ведь не одна база на сервере и не один хостящийся. Так что база всё время в оперативке не находится. А разница, где будут лежать файлы, имхо, значительной не будет (к сожалению, не располагаю сведениями об использовании неформатированных разделов изнутри - однако не думаю, что это поможет). Собственно, у вас есть уникальная возможность убедиться в этом лично или же опровергнуть данное умозрительное заключение.
...
Рейтинг: 0 / 0
База с большим количеством таблиц
    #32870231
kulpavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
здесь про MySQL
Масштабируемость и ограничения
Управляет очень большими базами данных. Компания MySQL AB. использует MySQL для работы с несколькими базами данных, которые содержат 50 миллионов записей, кроме того, нам известны пользователи, использующие MySQL для работы с 60000 таблицами, включающими около 5000000000 строк.

Для каждой таблицы разрешается иметь до 32 индексов. Каждый индекс может содержать от 1 до 16 столбцов или частей столбцов. Максимальная ширина индекса 500 бит (это значение может быть изменено при компиляции MySQL). Для индекса может использоваться префикс поля CHAR или VARCHAR.
...
Рейтинг: 0 / 0
База с большим количеством таблиц
    #32870276
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эти тормоза - от файловой системы. Логичней было бы поиграться настройками FS (типа noatime), попробовать другие FS. Я например слышал хорошие отзывы о UFS на солярке для большого числа баз/таблиц.

Сейчас у вас на каждую таблицу создается 3 файла. Если попробуете innodb, будет создаваться 1 файл (.frm) на каждую таблицу. так что стоит попробовать.

Кроме того конечно увеличить max_file_cache насколько это возможно.
...
Рейтинг: 0 / 0
База с большим количеством таблиц
    #32870512
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это-то понятно, что тормоза из-за файловой системы)
Кстати, ФС как раз UFS, правда не на солярке, а на фре...
Насчёт применения же innodb для сокращения количества файлов...
Ну станет их в 3 раза меньше, это не слишком принципиально, я хотел выяснить, есть ли результат от замены хранения данных в файловой системе на использование собственного формата хранения MySQL на выделенном разделе (без ФС)...
Похоже, придётся действительно проверять самому, но мб у кого-то есть опыт такого использования, всё же?)
...
Рейтинг: 0 / 0
База с большим количеством таблиц
    #32878569
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на выделенном разделе вы разместите только файлы данных и индексы. А .frm файлы как были в каталоге базы данных так и останутся.

Может тебе из по разнным базам раскидать.? создать баз так 100.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / База с большим количеством таблиц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]