Перенос данных из Oracle в учетную запись API Cassandra в Azure Cosmos DB с помощью Blitzz

ПРИМЕНИМО К: API Cassandra

API Cassandra в Azure Cosmos DB — это отличный выбор для корпоративных рабочих нагрузок на базе Oracle. Для этого есть несколько причин.

  • Улучшенная масштабируемость и доступность. Возможность устранить единые точки отказа, улучшить масштабируемость и повысить доступность приложений.

  • Значительное сокращение затрат. Azure Cosmos DB позволяет уменьшить расходы, в том числе на виртуальные машины, пропускную способность и все применимые лицензии Oracle. Кроме того, вам не нужно управлять центрами обработки данных, серверами, SSD-накопителями, сетями и расходами на электроэнергию.

  • Отсутствие накладных расходов на управление и мониторинг. Azure Cosmos DB — это полностью управляемая служба, которая устраняет накладные расходы, связанные с мониторингом различных параметров и управление ими.

Существуют различные способы переноса рабочих нагрузок базы данных с одной платформы на другую. Blitzz — это инструмент для безопасной и надежной миграции из различных СУБД на платформу Azure Cosmos DB без простоя. В этой статье содержатся пошаговые инструкции для того, чтобы перенести данные из Oracle в API Cassandra в Azure Cosmos DB с помощью Blitzz.

Преимущества миграции с помощью Blitzz

Решение для миграции Blitzz позволяет переносить сложные рабочие нагрузки в пошаговом режиме. Вот некоторые ключевые аспекты плана миграции Blitzz с нулевым временем простоя.

  • Это решение обеспечивает автоматическую миграцию бизнес-логики (таблиц, индексов, представлений) из базы данных Oracle в Azure Cosmos DB. Создавать схемы вручную не требуется.

  • Blitzz поддерживает репликацию баз данных большого объема и в параллельном режиме. Решение обеспечивает синхронизацию исходной и целевой платформ во время миграции с применением методики под названием Change-Data-Capture (CDC). С помощью CDC Blitzz постоянно извлекает поток изменений из базы данных-источника (Oracle) и применяет их к целевой базе данных (Azure Cosmos DB).

  • Это решение является отказоустойчивым и гарантирует создание ровно одного экземпляра каждого фрагмента данных даже при сбое оборудования или программного обеспечения в системе.

  • Оно обеспечивает защиту данных во время передачи с применением различных методов обеспечения безопасности, таких как TLS/SSL и шифрование.

  • Решение поддержиает службы для преобразования сложной бизнес-логики, написанной на языке PL/SQL, в эквивалентную бизнес-логику в Azure Cosmos DB.

Этапы миграции

В этом разделе описаны этапы настройки Blitzz и переноса информации из базы данных Oracle в Azure Cosmos DB.

  1. На компьютере, где планируется установить средство репликации Blitzz, добавьте сертификат безопасности. Этот сертификат необходим решению Blitzz, чтобы установить 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
    
  2. Вы можете установить Blitzz и двоичные файлы этого решения, запросив демонстрацию на веб-сайте Blitzz. Кроме того, можно отправить электронное письмо команде данного решения.

    Загрузка средства репликации Blitzz

    Файлы средства репликации Blitzz

  3. В окне терминала 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
    

    Открыть редактор соединений Oracle

    Конфигурация подключения Oracle

    Указав конфигурационные данные, сохраните и закройте файл.

  4. Также можно настроить файл фильтра базы данных-источника. Файл фильтра указывает, какие схемы или таблицы нужно перенести. Откройте файл конфигурации с помощью команды vi filter/oracle_filter.yml и введите следующие конфигурационные данные:

    
    allow:
    -    schema: “io_blitzz”
    Types: [TABLE]
    

    Задав конфигурацию фильтра базы данных, сохраните и закройте файл.

  5. Далее нужно настроить конфигурацию целевой базы данных. Перед определением конфигурации создайте учетную запись API Cassandra Azure Cosmos DB. Выберите правильный ключ секции в своих данных, а затем создайте пространство ключей и таблицу для хранения перенесенных данных.

  6. Перед переносом данных увеличьте пропускную способность контейнера до объема, необходимого для быстрого переноса приложения. Например, можно увеличить пропускную способность до 100000 ЕЗ/с. Масштабирование пропускной способности перед началом миграции поможет перенести данные за меньшее время.

    Масштабирование пропускной способности контейнера Azure Cosmos

    После завершения миграции необходимо уменьшить пропускную способность. Оценить пропускную способность, необходимую после переноса данных, можно на основе объема хранимых данных и числа единиц запросов (ЕЗ), необходимых для каждой операции. Дополнительные сведения о том, как оценить требуемую пропускную способность, см. в статьях Обеспечение необходимой пропускной способности для контейнеров и баз данных и Оценка количества единиц запросов в секунду с помощью планировщика ресурсов Azure Cosmos DB.

  7. Определите значения контактной точки, порта, имени пользователя и основного пароля учетной записи Azure Cosmos с помощью панели Строка подключения. Эти значения будут использоваться в файле конфигурации.

  8. В окне терминала CLI настройте конфигурацию целевой базы данных. Откройте файл конфигурации с помощью команды vi conf/conn/cosmosdb.yml и добавьте разделенный запятыми список URI узлов, номер порта, имя пользователя, пароль и другие необходимые параметры. Ниже приведен пример файла конфигурации:

    type: COSMOSDB
    
    host: `<Azure Cosmos account’s Contact point>`
    port: 10350
    
    username: 'blitzzdemo'
    password: `<Your Azure Cosmos account’s primary password>'
    
    max-connections: 30
    use-ssl: false
    
  9. Затем перенесите данные с помощью Blitzz. Запустить средство репликации Blitzz можно в полном режиме или в режиме моментального снимка.

    • Полный режим — в этом режиме средство репликации продолжает работу после миграции и отслеживает все изменения в исходной системе Oracle. При обнаружении изменений они реплицируются в целевой учетной записи Azure Cosmos в режиме реального времени.

    • Режим моментального снимка — в этом режиме можно выполнить миграцию схемы и однократную репликацию данных. При этом репликация в режиме реального времени не поддерживается.

    С помощью двух описанных выше режимов миграцию можно выполнить с нулевым временем простоя.

  10. Чтобы перенести данные из терминала CLI средства репликации Blitzz, выполните следующую команду:

    ./bin/replicant full conf/conn/oracle.yaml conf/conn/cosmosdb.yaml --filter filter/oracle_filter.yaml --replace-existing
    

    В пользовательском интерфейсе средства репликации отображается ход выполнения. Когда миграция схемы будет завершена, а моментальный снимок создан, индикатор хода выполнения достигнет уровня 100 %. После завершения миграции можно проверить данные в целевой базе данных Azure Cosmos.

    Результаты переноса данных Oracle

  11. Поскольку для миграции использовался полный режим, вы можете выполнять такие операции, как вставка, обновление и удаление данных, в исходной базе Oracle. Позже вы сможете убедиться, что эти изменения реплицируются в целевой базе данных Azure Cosmos в режиме реального времени. После миграции не забудьте уменьшить пропускную способность, настроенную для контейнера Azure Cosmos.

  12. Вы можете в любой момент остановить средство репликации и перезапустить его с параметром --resume. Репликация возобновляется с момента остановки, при этом согласованность данных не нарушается. В команде ниже показано, как использовать параметр resume.

    ./bin/replicant full conf/conn/oracle.yaml conf/conn/cosmosdb.yaml --filter filter/oracle_filter.yaml --replace-existing --resume
    

Дополнительные сведения о переносе данных в место назначение и о миграции в режиме реального времени см. в демонстрации средства репликации Blitzz.

Дальнейшие действия