Хостинг: почему количество баз данных MySQL имеет значение? - PullRequest
2 голосов
/ 25 декабря 2008

Хорошо, возможно, я что-то здесь упускаю, но я смотрю на различные варианты хостинга PHP и вижу такие вещи, как "10 баз данных MySQL", или 25, или даже неограниченное количество.

Теперь я работал над сайтами с серверной частью Oracle, в которых более 10000 одновременно работающих пользователей, и у нас была ... одна база данных.

Идея базы данных состоит в том, что вы можете хранить в ней все, что захотите. Так почему же для MySQL значение имеет число? Существуют ли какие-либо ограничения таблицы, строки или базы данных, о которых я не знаю (вполне возможно)? Или это вопрос или параллельные соединения? Или какая-то другая проблема с производительностью (например, шардинг)? Аспект шардинга кажется маловероятным, потому что даже базовые варианты хостинга (т. Е. Менее 5 долларов в месяц) я вижу с 10 базами данных.

Если бы кто-то мог подсказать мне об этом, было бы замечательно.

Ответы [ 8 ]

8 голосов
/ 25 декабря 2008

Это в основном маркетинговая тактика, хотя есть некоторые технические и исторические соображения.

Во-первых, извиняюсь, если это очевидно, но SCHEMA относятся к Oracle, как DATABASES - к MySQL (в упрощенном виде - логические наборы таблиц).

Хост говорит, что на сервере может быть настроено XX количество настроенных логических баз данных. Многим веб-приложениям нужна база данных для запуска. Современные веб-приложения, такие как Wordpress, Movable Type, Joomla и т. Д., Позволят вам назвать ваши таблицы с собственным префиксом. Однако, если приложение не имеет этой функции конфигурации, это означает, что вам нужна одна база данных на установку. Кроме того, аналогичным образом, если два приложения имеют одно и то же имя таблицы, они не могут сосуществовать в одной базе данных. Многие ранние веб-приложения начинались именно так, поэтому очень важно было учитывать большое количество баз данных.

Там также есть доступ и безопасность. Хотя MySQL (и другие базы данных) можно настроить для предоставления пользователям детального контроля доступа вплоть до уровня таблиц и столбцов, часто проще создать одного пользователя, который имеет полное разрешение для логической базы данных. Это важно для людей, которые продают услуги, но передают фактический хостинг завершенных сайтов / приложений общему веб-хосту.

6 голосов
/ 25 декабря 2008

Некоторым нравится одна база данных на приложение

1 голос
/ 25 декабря 2008

Ник частично верен, но он также имеет отношение к людям, которые попытаются разместить несколько сайтов в одной общей учетной записи и будут использовать разные базы данных для каждого и сценарий для предоставления правильного контента с небольшим маскированием DNS. 1001 *

1 голос
/ 25 декабря 2008

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

1 голос
/ 25 декабря 2008

Когда я использовал общий хостинг, я настраивал отдельную базу данных для каждого сайта / клиента для пользовательских приложений, и если вы используете Fantastico для установки приложений, он будет использовать базу данных для каждого из них по умолчанию.

Я полагаю, что существуют ограничения, чтобы побудить вас перейти на следующий уровень обслуживания, когда вы перерастете текущий уровень.

1 голос
/ 25 декабря 2008

Это маркетинг, а не технический. Они хотят что-то рекламировать. «10» звучит как хорошее число.

0 голосов
/ 25 декабря 2008

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

0 голосов
/ 25 декабря 2008

Кроме того, возможно, это маркетинговая перспектива.

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

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

...