Возможная согласованность в RDBMS (Oracle) - PullRequest
0 голосов
/ 04 июля 2018

Я понимаю, что базы данных СУБД, такие как Oracle, на самом деле не предназначены для возможной согласованности. Но разве технически невозможно настроить оракула в соответствии с возможной моделью согласованности (скажем, например, что поддерживает Кассандра?)

Например: не можем ли мы иметь два кластера Oracle (со своим собственным хранилищем), соединенных активным средством защиты данных, реплицирующимся в обоих направлениях? т.е. Active-Active! Я видел Active-Passive модель во многих производственных системах. Но возможно ли использование Active-Active в Oracle?

Ответы [ 2 ]

0 голосов
/ 05 июля 2018

Вы можете построить его с помощью GoldenGate, но подумайте об использовании Oracle Sharding, доступного в 18c. Таким образом, вы можете просто объявить необходимую топологию репликации, используя синтаксис команды GDSCTL, и Oracle сделает это (используя GoldenGate).

Вот ссылка на документацию:

https://docs.oracle.com/en/database/oracle/oracle-database/18/shard/sharding-overview.html#GUID-0F39B1FB-DCF9-4C8A-A2EA-88705B90C5BF

В частности, ознакомьтесь с разделом 7.1 о высокой доступности и интеграции с Oracle GoldenGate.

Отзыв об Active-Active

Не могу сказать точно, но документация Oracle настоятельно подразумевает, что она может использоваться в активно-активной схеме. Из документации Oracle:

7.1.1. Когда выбирать Oracle GoldenGate для обеспечения высокой доступности Shard. Когда следует использовать Oracle GoldenGate в качестве вашей высокой доступности? решение для Oracle Sharding?

Oracle GoldenGate должен быть вашим предпочтительным решением высокой доступности в следующих случаях:

Все осколки для чтения-записи . С Active Data Guard осколки DR / резервного копирования только для чтения.

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

Более одной обновляемой копии данных. Например, с Oracle GoldenGate, используя коэффициент репликации 4, вы можете иметь 4 чтение и запись копий данных, которые могут быть обновлены .

0 голосов
/ 04 июля 2018

Вы можете создать активную двунаправленную асинхронную репликацию , используя Oracle GoldenGate или любой другой механизм репликации. Но вы должны строго определить способ обработки строк.

Например:

  1. Если одна и та же строка обновляется одновременно на обоих сайтах - какая из них должна быть важнее?

  2. Если вы присваиваете новые идентификаторы строкам (например, последовательности), вы должны убедиться, что вы не будете назначать один и тот же идентификатор на обоих сайтах.

Или вы можете создать синхронную репликацию , используя Oracle RAC. Вы должны создать одну большую базу данных, которая создается на 2 хостах с общим хранилищем. Каждое изменение, внесенное на одном сайте, сразу же видно на другом.

...