Создание базы данных песочница/полигон для пользователей, чтобы запустить что-если сценарии



Я пытаюсь понять, как создать область "песочницы" в моем новом приложении Windows .NET/SQL Server. Вот требования:



Пользователи должны иметь возможность вводить свои собственные данные для таких вещей, как диапазоны дат и цены.
Пользователи должны иметь возможность запускать несколько сценариев на основе этих данных о ценах и диапазоне дат



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

Я не уверен, что это лучший способ сделать это. Я предполагал, что могу дать всем локальные копии SQL Express и убедиться, что локальные копии отражают структуру данных производственных данных, но это кажется беспорядочным и менее идеальным. Я не хочу создавать много копий базы данных на производственном сервере, чтобы дать каждому свою собственную игровую площадку.



Есть ли что-то очевидно, меня здесь не хватает? Требование, чтобы пользователи могли вводить свои собственные конфигурационные данные для цен, диапазонов дат и т. д. это то, на чем я действительно застрял. Им нужно запустить эти сценарии "что, если" против их собственных настроек, но производственная система не может иметь такого рода вещи там.



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



Любые указатели или буду весьма признателен за ваши предложения.

624   1  

1 ответ:

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

Просто сконцентрируйтесь на том, чтобы создать сценарий и оставить нескольких пользователей на секунду.

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

Вы можете создать таблицу в отдельная схема (необязательно) - сценарий.Таблица продуктов и позволяет людям вставлять в нее информацию о продуктах, заменяющую информацию о продуктах. Затем вы можете создать объединение всех продуктов за вычетом тех, которые находятся в сценарии.Таблица PRODUCTS основана на идентификаторе сценария и идентификаторе продукта, который даст вам пользовательскую информацию о ценах + все текущие цены.

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

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

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

Comments

    Ничего не найдено.