Перенос данных в учетную запись Azure Cosmos DB для NoSQL с помощью Striim

ОБЛАСТЬ ПРИМЕНЕНИЯ: NoSQL

Образ Striim в Azure Marketplace обеспечивает непрерывное перемещение данных из хранилищ и баз данных в Azure в режиме реального времени. При перемещении данных можно выполнить встроенную денормализацию, преобразование данных, включить аналитику в режиме реального времени и сценарии создания отчетов с данными. С помощью Striim можно легко приступить к непрерывному переносу корпоративных данных в Azure Cosmos DB для NoSQL. Azure предоставляет платформу, упрощающую развертывание Striim и перенос данных в Azure Cosmos DB.

В этой статье показано, как использовать Striim для переноса данных из базы данных Oracle в учетную запись Azure Cosmos DB для NoSQL.

Предварительные требования

Развертывание решения Striim из Marketplace

  1. Войдите на портал Azure.

  2. Выберите Создать ресурс и выполните поиск Striim в Azure Marketplace. Выберите первый вариант и нажмите кнопку Создать.

    Поиск элемента Striim в Marketplace

  3. Затем введите свойства конфигурации для экземпляра Striim. На виртуальной машине развертывается среда Striim. В области Основные сведения введите имя пользователя виртуальной машины, пароль виртуальной машины (этот пароль используется для подключения к виртуальной машине по протоколу SSH). Выберите свои параметры Подписка, Группа ресурсов и Сведения о расположении, где надо развернуть Striim. По завершении нажмите кнопку ОК.

    Настройка основных параметров для Striim

  4. В области Параметры кластера Striim выберите тип развертывания Striim и размер виртуальной машины.

    Параметр Значение Описание
    Тип развертывания Striim Автономный Striim может выполняться с типом развертывания Автономный или Кластер. В автономном режиме сервер Striim будет развернут на одной виртуальной машине. Размер виртуальных машин можно выбрать в зависимости от объема данных. В режиме кластера сервер Striim будет развернут на двух или более виртуальных машинах выбранного размера. Кластерные среды с более чем 2 узлами автоматически обеспечивают высокий уровень доступности и отработку отказа.

    В этом руководстве можно выбрать вариант "Автономный". Для размера виртуальной машины используйте значение по умолчанию "Standard_F4s".
    Имя кластера Striim <Striim_cluster_Name> Имя кластера Striim.
    Пароль кластера Striim <Striim_cluster_password> Пароль для кластера.

    После заполнения формы нажмите кнопку ОК, чтобы продолжить.

  5. В области Параметры доступа Striim укажите общедоступный IP-адрес (выберите значения по умолчанию), доменное имя для Striim, пароль администратора, который будет использоваться для входа в пользовательский интерфейс Striim. Настройте виртуальную сеть и подсеть (выберите значения по умолчанию). После внесения сведений нажмите кнопку ОК, чтобы продолжить.

    Параметры доступа Striim

  6. Azure проверит правильность развертывания. Проверка занимает несколько минут. По окончании проверки нажмите кнопку ОК.

  7. Наконец, ознакомьтесь с условиями использования и выберите Создать, чтобы создать экземпляр Striim.

Настройка базы данных-источника

В этом разделе будет выполнена настройка базы данных Oracle в качестве источника для перемещения данных. Сервер Striim поставляется с драйвером Oracle JDBC, который используется для подключения к Oracle. Для считывания изменений из исходной базы данных Oracle можно использовать утилиту LogMiner или API-интерфейсы XStream. Чтобы считывать, записывать или сохранять данные из базы данных Oracle, в пути к классам Java для Striim присутствует драйвер Oracle JDBC.

Настройка целевой базы данных

В этом разделе вы настроите учетную запись Azure Cosmos DB для NoSQL в качестве целевого объекта для перемещения данных.

  1. Создайте учетную запись Azure Cosmos DB для NoSQL с помощью портал Azure.

  2. Перейдите в область Data Explorer учетной записи Azure Cosmos DB. Выберите Создать контейнер для создания контейнера. Предположим, что выполняется перенос продуктов и данных заказов из базы данных Oracle в Azure Cosmos DB. Создайте базу данных с именем StriimDemo с контейнером под названием Заказы. Подготовьте контейнер с 1000 ЕЗ (единица запроса) (в этом примере используется 1000 ЕЗ, но следует использовать оценку пропускной способности для вашей рабочей нагрузки) и /ORDER_ID в качестве ключа раздела. Эти значения будут отличаться в зависимости от исходных данных.

    Создание учетной записи API для NoSQL

Настройка потока данных из Oracle в Azure Cosmos DB

  1. Перейдите к экземпляру Striim, развернутому на портале Azure. Нажмите кнопку Подключить в верхней строке меню и на вкладке SSH скопируйте URL-адрес в поле Вход с помощью локальной учетной записи виртуальной машины.

    Получение URL-адреса SSH

  2. Откройте новое окно терминала и выполните команду SSH, скопированную с портала Azure. В этой статье используется терминал в MacOS. Аналогичные инструкции можно выполнить с помощью клиента SSH на компьютере с Windows. При появлении запроса введите да, чтобы продолжить работу, и введите пароль, заданный для виртуальной машины на предыдущем этапе.

    Подключение к виртуальной машине Striim

  3. В том же окне терминала перезапустите сервер Striim, выполнив следующие команды:

    systemctl stop striim-node
    systemctl stop striim-dbms
    systemctl start striim-dbms
    systemctl start striim-node
    
  4. Запуск Striim займет около минуты. Если надо просмотреть состояние, выполните следующую команду:

    tail -f /opt/striim/logs/striim-node.log
    
  5. Теперь вернитесь в Azure и скопируйте общедоступный IP-адрес виртуальной машины Striim.

    Копирование IP-адреса виртуальной машины Striim

  6. Чтобы перейти к веб-интерфейсу Striim, откройте новую вкладку в браузере и скопируйте общедоступный IP-адрес, после которого указано 9080. Войдите, используя имя администратора и пароль администратора, указанный на портале Azure.

    Вход в Striim

  7. Теперь вы находитесь на домашней странице Striim. Здесь представлены три разные области: Панели мониторинга, Приложения и SourcePreview (Просмотр исходных данных). В области "Панели мониторинга" можно перемещать данные в режиме реального времени и визуализировать их. В области "Приложения" находятся конвейеры потоковых данных или потоки данных. В правой части страницы находится область SourcePreview, где можно просматривать данные перед их перемещением.

  8. Выберите область Приложения, и мы рассмотрим ее. Имеется множество примеров приложений, которые можно использовать для ознакомления с Striim, однако в этой статье вы создадите собственный пример. Нажмите кнопку Добавить приложение в правом верхнем углу.

    Добавление приложения Striim

  9. Предлагается несколько способов создания приложений Striim. Выберите Начать с шаблона, чтобы начать с имеющегося шаблона.

    Запуск приложения с помощью шаблона

  10. В поле Поиск шаблонов введите "Cosmos" и выберите Цель: Azure Cosmos DB, затем выберите Oracle CDC в Azure Cosmos DB.

    Выбор Oracle CDC в Azure Cosmos DB

  11. На следующей странице присвойте имя своему приложению. Можно указать, например, имя oraToCosmosDB, затем нажмите кнопку Сохранить.

  12. Далее, введите конфигурацию источника исходного экземпляра Oracle. Введите значение в поле Имя источника. Имя источника — это просто соглашение об именовании для приложения Striim. Можно использовать имя, подобное src_onPremOracle. Введите значения для других параметров источника — URL-адрес, Имя пользователя, Пароль, и выберите LogMiner в качестве считывателя для чтения данных из Oracle. Нажмите кнопку Далее, чтобы продолжить.

    Настройка параметров источника

  13. Striim проверит вашу среду, чтобы подтвердить, что ее можно подключить к вашему экземпляру-источнику Oracle, наличие корректных разрешений и настройку CDC. После проверки всех значений нажмите кнопку Далее.

    Проверка параметров источника

  14. В базе данных Oracle выберите таблицы для переноса. Например, выберите таблицу "Заказы" и нажмите кнопку Далее.

    Выбор исходных таблиц

  15. После выбора исходной таблицы можно выполнить более сложные операции, например сопоставление и фильтрацию. В этом случае вы просто создадите реплику исходной таблицы в Azure Cosmos DB. Итак, нажмите кнопку Далее, чтобы настроить целевой объект.

  16. Теперь настроим целевой объект.

    • Имя целевого объекта — укажите понятное имя для целевого объекта.
    • Ввод из — в раскрывающемся списке выберите входной поток из данных, созданных в исходной конфигурации Oracle.
    • Коллекции — введите свойства конфигурации целевого объекта Azure Cosmos DB. Синтаксис коллекций — SourceSchema.SourceTable, TargetDatabase.TargetContainer. В этом примере в качестве значения используется "SYSTEM.ORDERS, StriimDemo.Orders".
    • AccessKey — основной ключ учетной записи Azure Cosmos DB.
    • ServiceEndpoint — универсальный код ресурса (URI) учетной записи Azure Cosmos DB. Их можно найти в разделе Ключи портал Azure.

    Выберите Сохранить и Далее.

    Настройка параметров целевого объекта

  17. Далее вы попадаете в конструктор потоков, где можно перетаскивать соединители блоков для создания приложений потоковой передачи. На этом этапе не вносятся изменения потока. Продолжайте и разверните приложение, нажав кнопку Развернуть приложение.

    Развертывание приложения

  18. В окне развертывания можно указать, следует ли запускать определенные части приложения в определенных частях топологии развертывания. Поскольку мы работаем в простой топологии развертывания с помощью Azure, будем использовать параметр по умолчанию.

    Использование параметра по умолчанию

  19. После развертывания можно просмотреть поток передаваемых данных. Щелкните значок волны и значок просмотра рядом с ним. Нажмите элемент Развернуто в верхней строке меню и выберите Запустить приложение.

    Запуск приложения

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

  21. Вы увидите, что данные передаются через платформу Striim. Striim также собирает все метаданные, связанные с таблицей, что позволяет отслеживать данные и контролировать их попадание в требуемый целевой объект.

    Настройка конвейера CDC

  22. Наконец, давайте войдем в Azure и перейдем к своей учетной записи Azure Cosmos DB. Обновите обозреватель данных, и увидите, что данные получены.

    Проверка перенесенных данных в Azure

Решение Striim в Azure позволяет непрерывно переносить данные в Azure Cosmos DB из различных источников, таких как Oracle, Cassandra, MongoDB и многих других. Дополнительные сведения см. на веб-сайте Striim. Загрузите бесплатную 30-дневную пробную версию Striim и отправляйте запросы на поддержку, если возникают проблемы при настройке пути миграции с помощью Striim.

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