Проектирование баз данных: как эффективно управлять около 4000 базами данных с помощью MySQL - PullRequest
0 голосов
/ 29 сентября 2011

Звучит безумно, но я запустил интенсивный проект по сбору данных [сбор инвентаризации интернет-магазинов], который позже стал очень большим.В настоящее время у меня около 2000 пользователей и у каждого пользователя около 100 таблиц.По сути, я создал систему так, чтобы у каждого пользователя была своя собственная база данных mysql, и она была размещена на выделенном сервере.Проблема в том, что сервер становится очень медленным и ломается из-за давления и соединений.Есть ли инструмент, который я могу использовать для оптимизации БД?или я должен перепроектировать только к 1 базе данных, что будет означать перепроектирование всей системы?Мне нужен совет и помощь

Ответы [ 2 ]

1 голос
/ 29 сентября 2011

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

Но без дополнительной информации мы не можем сказать:

  1. Это один из девяти случаев, когда это ошибка, или в десятый раз, когда это подходящий дизайн.

  2. Является ли количество подключений причиной проблем с производительностью, которые вы видите (которые могут быть решены путем переключения на одну базу данных), или что-то еще.

1 голос
/ 29 сентября 2011

4000 баз данных для одной системы ?! Wowzer, ты изобрел Google?

Я бы определенно сказал, что вам нужно перепроектировать эту настройку - если ваша «система» на самом деле не является хостингом базы данных, и каждый пользователь, конечно, не заплатил за частную базу данных.

Нет ничего плохого в наличии нескольких дискретных баз данных, но 2-х пользователей - неправильный подход.

«Правильный» подход будет полностью зависеть от того, для чего предназначена ваша система.

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

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