Я хотел бы создать облачное бизнес-решение с 4 таблицами по умолчанию, пользователь может добавить настраиваемое поле (столбец?) Или добавить пользовательский объект (таблица?).Хранение нескольких логических баз данных в одной физической базе данных
Моя первая мысль была, чтобы создать новую базу данных для каждой учетной записи, но есть ограничение числа баз данных на экземпляре SQL Server,
второе решение: для каждой учетной записи, создать новую схему, дублируя 4 таблицы по умолчанию каждой схемы.
Третье решение: создать 4 уникальные таблицы с дискриминантным столбцом (ACCOUNT_ID), если пользователь хочет, чтобы новое поле добавляло таблицу соединений, выделенную для этого ACCOUNT_ID, если он хочет, чтобы новый объект создал новую таблицу.
Что вы думаете? Кто-нибудь знает, как существующие облачные решения хранят данные? (например, salesforce)
BTW, я не хочу создавать виртуальную машину для каждой учетной записи.
Ну, вы можете спросить, как работает SQLFiddle. , , и это объясняется здесь (http://sqlfiddle.com/about.html#howWorks). –
Здесь есть интересная статья о возможных многопользовательских архитектурах: http://msdn.microsoft.com/en-us/library/aa479086.aspx Было бы полезно прочитать, если вы приступаете к реализации такого проекта. – John
Мне нравится решение схемы, потому что было бы легко предоставить заблокированное разрешение определенным пользователям для конкретной схемы и было бы легко динамически выполнить скрипт логики запросов на основе некоторой переменной бизнес-объекта. –