Как синхронизировать несколько баз данных с одной центральной базой данных на удаленных серверах? - PullRequest
0 голосов
/ 18 июня 2019

У меня есть проект, в котором есть несколько сайтов (1500 клиентских сайтов), каждый из которых содержит базу данных Oracle, и 1 центр обработки данных с базой данных MySQL, где все данные со всех клиентских сайтов должны находиться и синхронизироваться. Задача проекта - обеспечить синхронизацию между центром обработки данных и клиентскими сайтами.

Соответственно у меня есть пара вопросов:

1-Существует ли утилита / инструмент для реализации этой интеграции и синхронизации между базами данных oracle и mysql?

2-Какой самый лучший способ защитить данные при передаче / отправке через Интернет?

Заранее спасибо,

1 Ответ

0 голосов
/ 18 июня 2019

Да, есть ряд инструментов, которые можно использовать для достижения чего-то подобного, но лучшее решение будет зависеть от технических потребностей вашей организации и ее бюджета (не стоит недооценивать важность этого). Я -Oracle DBA по профессии, и хотя я выполняю некоторую работу в MySql, это будут рекомендации, ориентированные на Oracle.Просто к вашему сведению.

Для № 1.Я бы рекомендовал проверить Oracle Golden Gate и Oracle Data Guard .

Golden Gate - это пакет интеграции и репликации данных, который позволяет синхронизировать данные между несколькими базами данных.в режиме реального времени.Используя Golden Gate, вы можете реплицировать данные, транзакции и изменения DDL в различных средах.Это может быть сложно настроить, но как только оно будет на месте, оно окупит себя много раз, если вы сможете использовать его таким образом, чтобы это отвечало вашим потребностям.Возможно, это будет наиболее экономически эффективное решение (с точки зрения уровня усилий, затрат и т. Д.), Но оно будет дорогостоящим и, вероятно, потребует обучения, если вы и ваши сотрудники не знакомы с ним.

Data Guard также является технологией Oracle, но больше подходит для первичной / резервной настройки баз данных.По сути, это позволяет вам создать две базы данных - одну в качестве основной базы данных, в которой происходят ваши транзакции данных, и одну в качестве резервной базы данных, где эти транзакции реплицируются, также практически в реальном времени.Мне нравится Data Guard, потому что он может позволить вам плавно переходить между основным и резервным режимом без необходимости быть известным конечному пользователю.Например, допустим, пользователь подключается к вашей первичной базе данных, но файловая система, в которой живет первичная база данных, по какой-то причине повреждена.Вы можете настроить его так, чтобы база данных автоматически перемещала соединение этого пользователя в резервный режим и позволяла ему завершить транзакцию, и все это без прерывания с их стороны.

Я поднимаю защиту данных, потому что вместо того, чтобы ваши молчаливые сайты реплицировались непосредственно в ваш центр обработки данных, вы можете рассмотреть возможность настройки Data Guard, чтобы основные базы данных могли находиться на стороне клиента, а ваш резервбазы данных находятся на стороне центра обработки данных.Это сделает две вещи: 1. создайте локальную копию ваших клиентских баз данных, чтобы в случае катастрофы вы могли легко восстановиться.и 2. снизить вероятность возникновения проблем, таких как задержка в сети.Если ваша стратегия репликации основана на том, что эти клиентские базы данных всегда работают и доступны, вы столкнетесь с проблемами, когда у людей на этих клиентских сайтах возникнут проблемы.С помощью Data Guard вы можете защитить себя от некоторого такого риска, синхронизировавшись с резервными базами данных - т.е. вместо изменений, поступающих от клиента -> непосредственно в центр обработки данных для синхронизации, он будет идти из основной базы данных клиента -> резервная база данных центра обработки данных -> Центр обработки данных для синхронизации.Ваши команды по безопасности и сетевым технологиям также, вероятно, предпочтут подобное решение, но оно может отличаться.

Для № 2.Всякий раз, когда вы перемещаете данные через Интернет, вы хотите использовать базовые вещи, такие как шифрование, SSL, аутентификация сертификата, брандмауэры, VPN и т. Д. Помимо этого, вы также хотите быть уверенным в том, что вы следуете установленным рекомендациям и правиламв вашем регионе.Например, если вы работаете с банковскими или финансовыми данными, могут существовать законы и нормативные акты, устанавливающие минимальные требования для перемещения этих данных через открытый интернет.Аналогично, если вы работаете с медицинскими данными или данными здравоохранения, вероятно, существует другой набор минимальных требований и для этой отрасли.Ваша организация должна иметь возможность подключить вас к ресурсам, чтобы найти эти требования, но в конечном итоге ответственность за соблюдение правил (если они есть) будет нести тот, кто его устанавливает - скорее всего, вы.Убедитесь, что вам известно о типе перемещаемых данных, а также о любых правовых последствиях, связанных с этими данными, и установите свои технические требования на основе этого.

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

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