Лучший способ синхронизировать Azure Postgres с Azure SQL

#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. Я думаю, что так и должно быть. Когда данных будет больше, каждый раз, когда мы удаляем все данные, активное копирование займет много времени.