Мы запускаем Mysql на CentOS 5.5. И используют подход сегментирования базы данных. Поскольку это приложение ERP, для каждого нового приложения / компании существует около 300 таблиц. На данный момент у нас на сервере mysql около 600 баз данных. (250 ГБ, 24 ГБ RAM) Но сервер довольно часто вылетает. 1. Существует ли известный предел для mysql и количество баз данных, которые он может надежно поддерживать. Я просмотрел другие темы и блоги, но не смог найти четкого анализа нет. баз данных против сбоев / доступности сервера mysql.
С другой стороны, я также хотел бы получить совет от любого, кто занимался администрированием db для такого сложного приложения, как ERP. 2. Модель надежная? Как бы вы его изменили, чтобы сделать более надежным?
Прежде всего, я не уверен, что вы называете «часто». Но на мой взгляд, сервер БД не должен падать. Вам действительно стоит попытаться разобраться в этой проблеме. Выходит из строя весь сервер или только процесс MySQL? Логи от вылета? MyISAM или Innodb?
Конечно, есть способы заставить MySQL выйти из строя. Самая очевидная проблема, с которой вы, вероятно, столкнетесь, - это настроить MySQL на использование большего объема памяти, чем доступно (у него закончится память и произойдет случайный сбой).
Но чтобы ответить на ваши вопросы:
Существуют известные ограничения, большинство из которых связаны с ОС. Помните, что каждая БД хранится в отдельном файле, что может привести к исчерпанию ресурсов, таких как дескрипторы файлов. В зависимости от вашей конфигурации 600 баз данных могут начать выходить за эти пределы, что может вызвать неприятные сбои под нагрузкой.
Я бы не назвал большинство установок ERP слишком сложными, а объем данных, с которыми вы имеете дело, очень большим. Моя основная рекомендация - убедиться, что ваша установка HW / SW надежна. Если вы не столкнетесь с серьезными проблемами загрузки, сегментирование / ведущие-ведомые устройства и аналогичные настройки, вероятно, снизят надежность вашей настройки из-за дополнительной сложности.