Задавайте вопросы, мы ответим
Вы не зашли.
Столкнулись с такой проблемой... В нашей модели бд очень много данных, которые нельзя хранить в одной таблице. В итоге мы получаем, что кол-во таблиц через год два может превысить пару тысяч штук. Существует ли какие-то ограничения на кол-во таблиц в MYsql и как это влияет на производительность. А также можно ли сделать так, чтобы разнести их на несколько серверов так,чтобы для web приложения это все выглядело как будто СУБД на одном сервере. Какое кол-во таблиц приемлимо для одного сервера, от каких это параметров зависит.
Заранее спасибо
Неактивен
Количество таблиц в принципе не ограничено, но некоторые рамки, все-таки, есть.
Во-первых, Вы можете упереться в количество открытых файлов (open_files_limit).
Учтите, что каждая таблица MyISAM занимает три файла (а значит, три дескриптора).
Таблички InnoDB занимают 1 или 2 дескриптора (в зависимости от innodb_file_per_table),
но большое количество tablespacов InnoDB не очень любит.
Наконец, большое количество файлов в одном каталоге может плохо читаться
просто из-за ограничений файловой системы. Имеет смысл выбирать ФС, в которой доступ
к каталогу не сильно вырастает при большом количестве файлов (xfs или Reiser4, например,
хотя, последний не советую по политическим соображениям).
С другой стороны, Вы вряд ли будете обращаться к данным двухгодичной давности
часто, поэтому старые таблицы не будут занимать открытые дескрипторы.
Что касается распределенности, то Вы можете попробовать использовать таблички
FEDERATED, но Вы от этого можете сильно потерять в производительности.
P.S. 2 тысячи табличек - это не так много, тяжело будет, когда их будет 20 С другой
стороны, тогда Вы разъедетесь по нескольким серверам точно
Неактивен