Представьте себе компанию, которая позволяет людям использовать их веб-программное обеспечение для создания веб-сайтов. Каждый клиент имеет один или несколько сайтов, которые они создали, и каждый из этих сайтов будет содержать, пожалуй, сотню «ячеек», которые содержат HTML для различных частей сайта. Мы точно знаем, что каждая ячейка будет использоваться только на одном сайте. Итак, мы имеем:База данных для разработчика веб-сайта
Теперь нам нужно описать клетки в каждом месте.
Один из способов - иметь огромную (и я имею в виду огромную) таблицу ячеек, которая содержит все ячейки, созданные миллионом клиентов. Затем каждая запись ячейки будет указывать обратно на siteId, где она была использована.
Но кажется, что должен быть способ воспользоваться знаниями о том, что каждая ячейка является только одной из сотен или около того на своем сайте, поэтому вместо поиска таблицы из 100 миллионов ячеек мы могли бы искать таблицу 100, или просто попросите эту таблицу, когда мы хотим построить этот сайт.
Спасибо за ваш вклад.
Вы можете хранить таблицы конкретных компаний в отдельной базе данных. У этого есть преимущества, чтобы легко удалить его, если они отправятся в другое место, и это добавляет больше безопасности, чтобы остановить компанию, видя информацию компании B. Тогда у вас может быть служба резервного копирования премиум-класса – KeepCalmAndCarryOn
Да, это была моя оригинальная мысль, но теперь у нас миллион баз данных! Это разумно? – Steve
Кажется, много. В зависимости от вашей базы данных вы можете добавить кластерный индекс и добавить все строки в одну таблицу. Вам также потребуется некоторое планирование на случай непредвиденных обстоятельств, поскольку сбой базы данных повлияет на всех клиентов, хотя – KeepCalmAndCarryOn