#postgresql #azure-sql-database
#postgresql #azure-sql-database
Вопрос:
У моей команды есть довольно специализированный Azure SQL для использования практически всего.
Однако для нашего веб-приложения мы используем Azure Postgres (это приложение Django, работающее в службе приложений Linux).
Инженеры по обработке данных обычно работают только с базой данных Azure SQL. Итак, каков наилучший способ обеспечить перемещение данных из Postgres в базу данных SQL Azure в режиме реального времени?
Пока что единственный вариант, который я имею в виду, — это выполнить действие копирования в Azure Data Factory для выполнения задания копирования. Но, видимо, это не в реальном времени.
Большое спасибо!
Комментарии:
1. Вы могли бы создать конвейер для копирования данных из Postgres в базу данных SQL Azure с помощью операции upsert (обновление или вставка). Запланируйте запуск конвейера. На данный момент мы не можем синхронизировать данные в реальном времени с базой данных SQL Azure и Azure Postgres.
Ответ №1:
Как я искал и по моему опыту, нет способа синхронизировать данные между Azure Postgres и базой данных SQL Azure. Даже синхронизация данных базы данных Azure SQL также имеет задержку в 5 минут.
Как вы сказали, мы могли бы создать действие копирования в Azure Data Factory для выполнения задания копирования. Используя upsert
opreation в настройках приемника SQL Azure.
Сначала запустите конвейер, чтобы данные в Azure Postgres и базе данных SQL были одинаковыми. Затем создайте триггер расписания (каждые 5 или 10 минут) для выполнения конвейера. Может быть достигнута синхронизация данных.
Комментарии:
1. спасибо, Леон. Знаете ли вы о некоторых преимуществах использования
upsert
операции? Почему бы нам не удалить данные как сценарий предварительного копирования, а затем запустить операцию копирования данных?2. @KelvinNguyenLe
upsert
означает обновить и вставить. Если данные изменились в источнике, обновите их в приемнике. Если есть новые данные, вставьте новые данные. Нам не нужно удалять все данные.3. кстати, как вы думаете,
upsert
будет ли производительность лучше, чемdelete
тогдаinsert
?4. Я думаю, что так и должно быть. Когда данных будет больше, каждый раз, когда мы удаляем все данные, активное копирование займет много времени.