Как внедрить обновления из операционной базы данных MySQL в базу данных SQL Azure для создания отчетов - PullRequest
0 голосов
/ 02 мая 2019

У нас есть операционная БД MySQL, работающая на AWS для транзакционной системы, и Azure SQL DB для создания отчетов с PowerBI.Теперь я хотел бы регулярно (например, каждую ночь) обновлять определенные таблицы из базы данных mySQL в базу данных SQL Azure.

Я нашел это описание о том, как делать инкрементные копии с использованием данных Azure.Фабрика , однако альтернативы мне кажутся неосуществимыми:

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

  2. Дельта-загрузка данных из БД SQL с помощьюТехнология отслеживания изменений , по-видимому, требует базы данных SQL Server в качестве источника, если я правильно понимаю.

Остальные две альтернативы применимы только к обновлениям из файлов, но не к БД.мое понимание.

Существуют ли другие возможные альтернативы, основанные на описанных условиях?Они не обязательно должны включать фабрику данных Azure, однако обновления должны запускаться полностью автоматически в облаке.

Возможно, неинкрементное обновление (т. Е. Полная замена таблиц целевой БД каждый раз) будеттоже вариант, но я боюсь, что это приведет к высоким затратам на стороне SQL Server Azure. Пожалуйста, поделитесь с нами любым опытом, если таковой имеется.

1 Ответ

0 голосов
/ 02 мая 2019

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

Я думаю, что пример помещает таблицу водяных знаков в источник, потому что местом назначения является хранилище BLOB-объектов. В вашем случае местом назначения является база данных Azure SQL, поэтому вы можете создать ее в базе данных назначения.

Является ли полная загрузка хорошим вариантом, действительно зависит от требований ваших отчетов и объема данных, которые вам нужно будет переместить. Может быть, вам просто нужны данные за последний месяц? В этом случае вы можете создать предложение where в исходном запросе, чтобы отфильтровать только последний месяц и обрезать таблицу параметров в сценарии предварительной копии вашей операции копирования.

...