2012-06-13 2 views
-4

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

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

ответ

5

Легко иметь миллионы записей в одной базе данных и невозможно обрабатывать миллионы баз данных на одном (или нескольких) компьютерах.

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

+0

Спасибо, я ценю совет. – Chris

2

Работа назад ... создание 1 миллиона экземпляров базы данных не будет очень практичным.

Итак, вы, вероятно, захотите использовать по крайней мере гораздо меньшее количество баз данных. Этот класс проблем известен как Multi-Tenant Application.

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

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

+0

Спасибо за информацию, Эрик – Chris