Когда пора создавать вторую базу данных? - PullRequest
3 голосов
/ 14 ноября 2008

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

Кто-нибудь еще пошел по этому пути, и стоило ли это того или иного рода проблем, чем наличие одной монолитной базы данных?

Редактировать: Спасибо за все ответы, хотя я искал какой-то реальный опыт, а не гипотетический совет, извините, я не могу выбрать правильный ответ.

Ответы [ 8 ]

6 голосов
/ 14 ноября 2008

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

3 голосов
/ 14 ноября 2008

Я думаю, что у вас проблема с инструментом, а не с базой данных! Тогда я советую изменить ваши инструменты, а не разбивать вашу базу данных на несколько частей. Краткосрочные «преимущества» (с более коротким списком таблиц) приведут вас к множеству долговременных проблем, таких как управление кодом для обновления / извлечения данных среди ваших нескольких баз данных.

3 голосов
/ 14 ноября 2008

Это аналогичный вопрос, когда разработчик сделал это. У них было не так много таблиц, но некоторые комментарии рассказывают о том, насколько это может раздражать.

2 голосов
/ 14 ноября 2008

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

1 голос
/ 14 ноября 2008

Являются ли эти 200 таблиц частью одного приложения? Если нет, то я бы порекомендовал иметь одну базу данных для каждого приложения или хотя бы одну для каждого большого приложения.

Если бы все они принадлежали одному и тому же приложению, я бы не стал переходить на вторую базу данных, потому что думаю, что это вызовет больше проблем (управление запросами и т. Д.), Чем это решает. Может быть, немного рефакторинга, чтобы использовать меньше таблиц?

1 голос
/ 14 ноября 2008

Я бы поставил перед вашими именами таблиц что-то значимое, чтобы вам было проще находить нужные вам таблицы.

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

1 голос
/ 14 ноября 2008

В настоящее время у меня есть база данных с 600 таблицами, которая растет и у меня не было проблем. Я использую MySQL Query Browser и MySQL Administrator без проблем, у вас есть какие-то конкретные проблемы?

0 голосов
/ 14 ноября 2008

Если вы хотите начать перемещать некоторые вещи во вторую базу данных, убедитесь, что сделали это специально. Я делаю это, когда понимаю, что некоторые данные будут справочными данными для нескольких проектов, над которыми я работаю. Это становится моей "справочной" базой данных.

Тогда мой список базы данных будет выглядеть примерно так:
project1
project2
project3
ссылка

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