Как работать с несколькими клиентами с разными SQL базами данных - PullRequest
1 голос
/ 26 марта 2020

Сводка

У меня есть проект с несколькими существующими базами данных MS SQL, я уже создал службу анализа Azure, в которой я развернул свой первый табличный куб. Я уже проверял доступ к службе анализа, работал отлично. Наконец, мне нужно продублировать вышеописанное для ~ 90 баз данных (90 разных клиентов). Я не уверен, как организовать этот проект, и я не уверен в имеющихся у меня возможностях.

Что я сделал

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

Вопрос

Возможно, будет импортировать каждую базу данных как источник в одном и том же проекте, но я думаю, что это означает, что мне нужно импортировать каждую таблицу из этого источника, то есть, наконец, 5 * 90 = 450 таблиц, я думаю, это быстро выходит из-под контроля?

Также Я думал о дублировании всей папки проекта Visual Studio по ~ 90 раз для каждого клиента, но в данный момент мне не удается найти все ссылки для изменения имени, но я думаю, что это не будет сложно.

Есть ли более простой способ достичь моей цели? Особенно в отношении удобства обслуживания.

Решение

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

Ответы [ 2 ]

0 голосов
/ 26 марта 2020

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

Работа с базами данных более 90+ потребует значительных административных затрат, а получение куба для их эффективной работы будет проблематичным c. Перемещайте данные, используя фабрику служб SSIS / Data, так как вы сможете лучше организовать перемещение данных и таким образом увеличивать загрузку. Таким образом, если вам нужно добавить / удалить / обновить источники данных, это не делается в кубе, все это делается на уровне базы данных / фабрики данных.

0 голосов
/ 26 марта 2020

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...