Перенос данных из Oracle в Azure Cosmos DB для учетной записи Apache Cassandra с помощью Arcion
Область применения: Кассандра
API для Cassandra в Azure Cosmos DB стал отличным выбором для корпоративных рабочих нагрузок, работающих в Oracle по таким причинам:
Улучшенная масштабируемость и доступность. Возможность устранить единые точки отказа, улучшить масштабируемость и повысить доступность приложений.
Значительное сокращение затрат. Azure Cosmos DB позволяет уменьшить расходы, в том числе на виртуальные машины, пропускную способность и все применимые лицензии Oracle. Кроме того, вам не нужно управлять центрами обработки данных, серверами, SSD-накопителями, сетями и расходами на электроэнергию.
Отсутствие накладных расходов на управление и мониторинг. Azure Cosmos DB — это полностью управляемая служба, которая устраняет накладные расходы, связанные с мониторингом различных параметров и управление ими.
Существуют различные способы переноса рабочих нагрузок базы данных с одной платформы на другую. Arcion — это инструмент для безопасной и надежной миграции из разных СУБД на платформу Azure Cosmos DB без простоя. В этой статье описаны шаги, необходимые для переноса данных из базы данных Oracle в Azure Cosmos DB для Apache Cassandra с помощью Arcion.
Примечание.
Это предложение Arcion в настоящее время находится на этапе бета-версии. Для получения дополнительных сведений обратитесь в службу поддержки Arcion.
Преимущества миграции с помощью Arcion
Решение для миграции Arcion позволяет поэтапно переносить сложные рабочие нагрузки. Вот некоторые ключевые аспекты плана миграции Arcion с нулевым временем простоя:
Это решение обеспечивает автоматическую миграцию бизнес-логики (таблиц, индексов, представлений) из базы данных Oracle в Azure Cosmos DB. Создавать схемы вручную не требуется.
Arcion поддерживает репликацию баз данных большого объема в параллельном режиме. Решение обеспечивает синхронизацию исходной и целевой платформ во время миграции с применением методики под названием Change-Data-Capture (CDC). Arcion с помощью CDC непрерывно извлекает поток изменений из базы данных-источника (Oracle) и применяет их к целевой базе данных (Azure Cosmos DB).
Это решение является отказоустойчивым и гарантирует создание ровно одного экземпляра каждого фрагмента данных даже при сбое оборудования или программного обеспечения в системе.
Оно обеспечивает защиту данных во время передачи благодаря таким методам обеспечения безопасности, как TLS/SSL и шифрование.
Решение поддержиает службы для преобразования сложной бизнес-логики, написанной на языке PL/SQL, в эквивалентную бизнес-логику в Azure Cosmos DB.
Этапы миграции
В этом разделе описаны этапы настройки Arcion и переноса информации из базы данных Oracle в Azure Cosmos DB.
На компьютере, где планируется установить средство репликации Arcion, добавьте сертификат безопасности. Этот сертификат нужен решению Arcion, чтобы установить TLS-подключение с указанной учетной записью Azure Cosmos DB. Чтобы добавить сертификат, выполните указанные ниже действия.
wget https://cacert.omniroot.com/bc2025.crt mv bc2025.crt bc2025.cer keytool -keystore $JAVA_HOME/lib/security/cacerts -importcert -alias bc2025ca -file bc2025.cer
Вы можете установить Arcion и двоичные файлы этого решения, запросив демонстрацию на веб-сайте Arcion. Кроме того, можно отправить электронное письмо команде данного решения.
В окне терминала CLI настройте конфигурацию базы данных-источника. Откройте файл конфигурации с помощью команды
vi conf/conn/oracle.yml
и добавьте разделенный запятыми список IP-адресов узлов Oracle, номер порта, имя пользователя, пароль и другие необходимые сведения. В коде ниже показан пример файла конфигурации JSON.type: ORACLE host: localhost port: 53546 service-name: IO username: '<Username of your Oracle database>' password: '<Password of your Oracle database>' conn-cnt: 30 use-ssl: false
Указав конфигурационные данные, сохраните и закройте файл.
Также можно настроить файл фильтра базы данных-источника. Файл фильтра указывает, какие схемы или таблицы нужно перенести. Откройте файл конфигурации с помощью команды
vi filter/oracle_filter.yml
и укажите следующие данные конфигурации:allow: - schema: “io_arcion” Types: [TABLE]
Задав конфигурацию фильтра базы данных, сохраните и закройте файл.
Далее нужно настроить конфигурацию целевой базы данных. Перед определением конфигурации создайте учетную запись Azure Cosmos DB для Apache Cassandra. Выберите правильный ключ секции в своих данных, а затем создайте пространство ключей и таблицу для хранения перенесенных данных.
Перед переносом данных увеличьте пропускную способность контейнера до объема, необходимого для быстрого переноса приложения. Например, можно увеличить пропускную способность до 100000 ЕЗ/с. Масштабирование пропускной способности перед началом миграции поможет перенести данные за меньшее время.
После завершения миграции необходимо уменьшить пропускную способность. Оценить пропускную способность, необходимую после переноса данных, можно на основе объема хранимых данных и числа единиц запросов (ЕЗ), необходимых для каждой операции. Дополнительные сведения о том, как оценить требуемую пропускную способность, см. в статьях Обеспечение необходимой пропускной способности для контейнеров и баз данных и Оценка количества единиц запросов в секунду с помощью планировщика ресурсов Azure Cosmos DB.
Получите точку контакта, порт, имя пользователя и основной пароль учетной записи Azure Cosmos DB на панели "Строка подключения". Эти значения будут использоваться в файле конфигурации.
В окне терминала CLI настройте конфигурацию целевой базы данных. Откройте файл конфигурации с помощью команды
vi conf/conn/cosmosdb.yml
и добавьте разделенный запятыми список URI узлов, номер порта, имя пользователя, пароль и другие необходимые параметры. Ниже приведен пример файла конфигурации:type: COSMOSDB host: `<Azure Cosmos DB account’s Contact point>` port: 10350 username: 'arciondemo' password: `<Your Azure Cosmos DB account’s primary password>' max-connections: 30 use-ssl: false
Затем перенесите данные с помощью Arcion. Средство репликации Arcion можно запустить в полном режиме или в режиме моментального снимка.
Полный режим — в этом режиме средство репликации продолжает работу после миграции и отслеживает все изменения в исходной системе Oracle. Если он обнаруживает любые изменения, они реплицируются в целевой учетной записи Azure Cosmos DB в режиме реального времени.
Режим моментального снимка — в этом режиме можно выполнить миграцию схемы и однократную репликацию данных. При этом репликация в режиме реального времени не поддерживается.
С помощью двух описанных выше режимов миграцию можно выполнить с нулевым временем простоя.
Чтобы перенести данные, используя терминал CLI в средстве репликации Arcion, выполните следующую команду:
./bin/replicant full conf/conn/oracle.yaml conf/conn/cosmosdb.yaml --filter filter/oracle_filter.yaml --replace-existing
В пользовательском интерфейсе средства репликации отображается ход выполнения. Когда миграция схемы будет завершена, а моментальный снимок создан, индикатор хода выполнения достигнет уровня 100 %. После завершения миграции можно проверить данные в целевой базе данных Azure Cosmos DB.
Поскольку для миграции использовался полный режим, вы можете выполнять такие операции, как вставка, обновление и удаление данных, в исходной базе Oracle. Позже вы можете проверить, реплицируются ли они в режиме реального времени в целевой базе данных Azure Cosmos DB. После миграции обязательно уменьшите пропускную способность, настроенную для контейнера Azure Cosmos DB.
Вы можете в любой момент остановить средство репликации и перезапустить его с параметром --resume. Репликация возобновляется с момента остановки, при этом согласованность данных не нарушается. В команде ниже показано, как использовать параметр resume.
./bin/replicant full conf/conn/oracle.yaml conf/conn/cosmosdb.yaml --filter filter/oracle_filter.yaml --replace-existing --resume
Дополнительные сведения о миграции данных в целевую систему и о миграции в режиме реального времени см. в демонстрационном примере для средства репликации Arcion.